06年4月全国计算机等级考试二级C语言考前密卷2
分类: 计算机
时间: 2019-01-23 14:12:01
作者: 全国等级考试资料网
26)下面程序的输出结果是__________。
#define p1(x)printf(x)
main()
{
char d[]。"p";
pl(d);
p1("d");
}
a)pdb)d"d"
c)"p"d d)"p""d"
答案:a
评析:带参数的宏定义的一般形式为:#define宏名(参数表)字符串
程序中的pl(d);经宏置换后为printf(d);,所以输出字符串p;程序中的pl("d");经宏置换后printf("d")。
(27)以下选项中,能定义s为合法的结构体变量的是__________。
a) typedef struct abc
{double a;
charb[10];
}s;
b) struct
{double a;
char b[10];
}s;
c) struct abc
{double a;
char b[10];
}
abc s:
d) typedef abc
{double a;
char b[10];
}
abc s:
答案:b
评析:定义一个结构体类型的变量,可采用三种方法:
①先定义结构体类型,再定义变量名;②在定义类型的同时定义变量:③直接定义结构类型变量,即不出现结构体名:选项b符合第三种定义方法。
(28)请读程序:
#include
#include
main()
{
char*s1="abcdef", *s2="ab";
s1++; s2++;
printf("%d、n",strcmp(sl,s2));
}
上面程序的输出结果是________。
a)正数 b)负数
c)零d)不确定的值
答案:a
评析:strcmp(x1,x2)是串比较函数,本题中"s1"、"s2"分别表示这两个串中第一个字符的地址,s1++和s2++是将指针指向串的第二个字符,则*sl为"bcdef’’,*s2为"b"。在字符串比较中,大小的确定是各个字符串相应位置字符的ascii码值的大小决定的, sl>s2,返回值为正数。
(29)请读程序:
#include
main()
{
int a=5,b=7,c=9;
printf("%d,%d,",a,b,c);
printf("%d,%d,%d,"a,b);
}
上面程序的输出结果是________。
a)5,7,9,5,7 b)5,7,5,7
c)5,7,不定,7,9 d)5,7,5,7,不定
答案:d
评析:printf函数按格式控制符的个数输出表列中对应的数据,若输出表列的个数大于格式控制符个数,则输出与格式控制符对应的输出表列的数据,输出表列中多的则省略;若格式控制符个数大于输出表列的个数,则输出与格式控制符对应的输出表列的数据,格式控制符多的部分输出的数据是随机的。
首页 1 2 3 4 5 尾页
#define p1(x)printf(x)
main()
{
char d[]。"p";
pl(d);
p1("d");
}
a)pdb)d"d"
c)"p"d d)"p""d"
答案:a
评析:带参数的宏定义的一般形式为:#define宏名(参数表)字符串
程序中的pl(d);经宏置换后为printf(d);,所以输出字符串p;程序中的pl("d");经宏置换后printf("d")。
(27)以下选项中,能定义s为合法的结构体变量的是__________。
a) typedef struct abc
{double a;
charb[10];
}s;
b) struct
{double a;
char b[10];
}s;
c) struct abc
{double a;
char b[10];
}
abc s:
d) typedef abc
{double a;
char b[10];
}
abc s:
答案:b
评析:定义一个结构体类型的变量,可采用三种方法:
①先定义结构体类型,再定义变量名;②在定义类型的同时定义变量:③直接定义结构类型变量,即不出现结构体名:选项b符合第三种定义方法。
(28)请读程序:
#include
#include
main()
{
char*s1="abcdef", *s2="ab";
s1++; s2++;
printf("%d、n",strcmp(sl,s2));
}
上面程序的输出结果是________。
a)正数 b)负数
c)零d)不确定的值
答案:a
评析:strcmp(x1,x2)是串比较函数,本题中"s1"、"s2"分别表示这两个串中第一个字符的地址,s1++和s2++是将指针指向串的第二个字符,则*sl为"bcdef’’,*s2为"b"。在字符串比较中,大小的确定是各个字符串相应位置字符的ascii码值的大小决定的, sl>s2,返回值为正数。
(29)请读程序:
#include
main()
{
int a=5,b=7,c=9;
printf("%d,%d,",a,b,c);
printf("%d,%d,%d,"a,b);
}
上面程序的输出结果是________。
a)5,7,9,5,7 b)5,7,5,7
c)5,7,不定,7,9 d)5,7,5,7,不定
答案:d
评析:printf函数按格式控制符的个数输出表列中对应的数据,若输出表列的个数大于格式控制符个数,则输出与格式控制符对应的输出表列的数据,输出表列中多的则省略;若格式控制符个数大于输出表列的个数,则输出与格式控制符对应的输出表列的数据,格式控制符多的部分输出的数据是随机的。
首页 1 2 3 4 5 尾页