C语言的选择题1
1.main()函数的位置(d)。
a.必须在自定义函数后面b.必须在自定义函数前面c.必须位于程序的最前面d.可以在自定义函数后面2.(a)为正确的变量名。
a.k_5
b.k.jeep
c.-k15
d.int
对于 c 语言中的字符串常量说法正确的是?3.若有定义inta,x;则语句a=(x=8,x+8);运行后,变量a、x的值依次为(d)。
a.8,16
b.16,16
c.8,8
d.16,84.设整型变量x为7,使整型变量y不为2的表达式是(a)。a.y=x%3b.y=8-(--x)c.y=(++x)/3d.y=x/3
5.尚无定义chars;采用scanf()函数输出一个字符给变量s,不恰当的函数调用就是(a)。a.scanf(\
6.若定义inta=2,b=3;则表达式!a||b的值(b)。a.3b.1c.2d.0
7.若已定义intm=7;floatk=5.5;则表达式k+m%2/4的值为(b)
a.6.375
b.5.5
c.5.75
d.6.75
8.若已定义inta=1,b=2,t=3;则继续执行以下程序段后变量a,b,t的值分别为(d)。if(a
{t=b;b=a;a=t;}
a.a=2,b=1,t=3
b.a=2,b=1,t=1
c.a=3,b=1,t=2
d.a=2,b=1,t=29.在循环语句的循环体中,break语句的促进作用就是(a)。a.提前结束循环,接着继续执行该循环时程的语句b.
暂停程序的运转
c.继续执行break语句之后的循环体各语句
d.结束本次循环
10.数组元素下标的数据类型为(a)。a.整型常量、字符型常量或整型表达式.b.实
型常量或实型表达式c.任何类型的表达式d.字符串常量
11.若有定义:ints[3][4]={{1,2},{0},{3,4,5}};则s[2][1]的值为(d)。
a.3
b.0
c.1
d.412.有如下定义:
charstr[10]={\
则分配给数组str的存储空间是(d)个字节。
a.11
b.8
c.9
d.1013以下程序运行后输入结果就是(c)。
voidfun(inti){intm=2;m=i++;
printf(\\}
main()
{intm=7,n=5;fun(n);
printf(\}
a.67
b.55
c.57
d.6614.以下程序运行后输出结果是(d)。
#definemin(m,n)m{inta=3,b=5,c;c=2*min(a,b);2*aa.10b.6c.3d.515.有以下语句:
inta[5]={0,1,2,3,4,5},i;int*p=a;设0≤i<5,对a数组元素不正确的引用是(b)。a.a[p-a]b.*(*(a+i))c.*(&a[i])d.p[i]16.若有以下程序段,则不能正确访问数组元素
a[1][2]的是(c)。
int(*p)[3];inta[][3]={1,2,3,4,5,6,7,8,9};p=a;a.p[1][2]b.(*(p+1))[2]c.p[1]+2d.* (*(a+1)+2)17.以下程序段的运行结果是(d)。
union{intn;charstr[2];}t;t.n=80;t.str[0]='a';t.str[1]=0;printf(\a.ab.80c.0d.97 18.若有以下定义:structnode{intdata;structnode*next;};structnode*p;已建立如下
图所示的链表:
┌──┬──┐┌──┬──┐┌──┬──┐p→│data│next┼→│data│next┼→. ..─→│data│null│└──┴──┘└──┴──┘└──┴──┘指针p指向第一个结点,能输出链表所有结点的数据成员data的循环语句是(c)。a.for(;p;p=p-
>next)printf(\b.for(;p!=null;p++)printf(\c.while(p){printf(\p=p-
>next;}d.while(p!=null){printf(\p++;}19.若有定义:intm=7,n=10,k;则执行语句
k=m&n;后k的值为(b)。a.1b.2c.17d.1520.对于以下程序,说法正确的是(b)。
#includemain(){file*fp;fp=fopen(\if(fp!=null){fprintf(fp,\fclose(fp);printf(\} }a.程序运行之前,当前工作目录下一定存在文件b.程序运行后,当前工作目录下存在文件,其中的内容是\c.程序运行后,当前工作目录下存在文件,其中的内容是\d.程序运行之前,当前工作目录下一定不存在文件21.c语言函数体由(c)括起来。a.[]b.()c.{}d.<>22.下面叙述中,错误的是(c)。a.自增与自减运算符的结合方向为“自右至左”b.c语言中的表达式求值,是按其运算符的优先级先高后低的次序进行c.c语
言算术运算符不包含模运算符“%”d.关系运算符的优先级低于算
术运算符23.函数putchar()的功能是向终端输出(b)。a.一个关系表达式b.一个字符c.一个实型变量值d.多个字符24.判定逻辑值为“真”的最准确叙述是(d)。a.1b.大于0的数c.非0的整数d.非0的数25.设已定义floata=2.0,b=3.0;使a值为5.0的表达式是(a)。a.a+=bb.a*=b+2.0c.a-=b+2.0d.a/=b+2.026.以下程序运行的结果是(d)。voidmain(){intx,y,z,a;x=y=z=1;a=15;if(!x)a--
;elseif(y);if(z)a=3;elsea+=4;printf(\}a.14b.19c.15d.327.以下程序段运行后,循环体运行的次数为(b)。inti=8,a=0;for(;i<8;i++)a+=i;a.无限b.0次c.8次d.1次28.(b)是正确的数组定义。
a.intn;scanf(\intx[n];
b.intx[10];
c.intn=10;intx[n];
d.intn=10,x[n];29.不能对二
维数组a进行正确初始化的语句是(c)。
a.inta[3][2]={1,2,3,4,5};
b.inta[3][2]={{1},{2,3},{4,5}};
c.inta[3][2]={{1,2,3},
{4,5,6}};d.inta[][2]={{1,2},{3,4},{5,6}};30.以下程序段运行后a的值为(c)。
inta=2;chars1=\a=strcmp(s1,s2);a.-1b.1c.0d.231.自定义函数中若缺省函数值类型,则
隐含的类型是(c)。a.floatb.longc.intd.double32.以下叙述正确的是()。a.\定义
了与30等价的符号常量priceb.编译预处理命令行都必须以\开头c.一个源程序只能有一
个编译预处理命令行d.使用带参数的宏定义时,应该说明每个参数的数据类型33.若有定
义int*p1,*p2;则错误的表达式是(c)。
a.p1inta[]={1,2,3,4,5,6,7},*p=a;intn,sum=0;for(n=1;n<6;n++)sum+=p[n++];printf(
\a.12b.16c.15d.2735.一个结构体变量占用的内存大小是(c)。a.第一个成员所需内存
容量b.最后一个成员所需内存容量c.各成员所需内存容量之和d.占内存容量最大的成员
所需容量36.假定已有如下定义:intk;enumcolors{red,green,blue,pink};inta[3];(b)是对以下语句是否符合语法规则的正确判断。a[red]=pink;/*语句1*/red=1;/*语句
2*/k=green+blue;/*语句3*/a.语句1正确,语句2和语句3错误b.语句1和语句3正确,语句2错误c.语句1和语句2正确,语句3错误d.语句2和语句3正确,语句1错误37.若变量m,n,t已定义且赋予初值,则正确的表达式是(c)。
a.m=int(5.6%4)b.m=m\\2c.m=6+n+t,m++d.m=m+1=t-n38.已有定义chars;使用scanf()函
数输入一个字符给变量s,不正确的函数调用是(a)。
a.scanf(\
b.scanf(\
c.scanf(\
d.scanf(\39.能正确表示数学关系式100≤s<300的表达
式为(a)。
a.(s>=100)&&(s<300)
b.100<=s<300
c.(s>=100)&(s<300)
d.(s>=100)and(s<300)40.已定义doublek=3.6;则正确的赋值表达式是(d)。a.k%3b.k=k*(-1.0)=-3.6c.k=double(-
3.6)d.k+=k-=(k=1.2)*(k=3)43.若已定义intx[4]={2,1,3};则元素x[1]的值为(d)。
a.3
b.2
c.0
d.144.以下程序段运行后输出结果是(c)。
chars[]=\printf(\a.5b.9c.4d.845.以下叙述正确的是(b)。a.宏名只能包含大写字母
和数字字符b.宏展开不占用运行时间,只占用编译时间c.编译预处理命令行必须以分号
结束d.程序中使用带参数的宏时,参数类型要与宏定义时一致46.以下程序段运行后,表
达式*(p+4)的值为(b)。chara[]=\char*p;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论