C语言前四节选择题自测题148道.docx
《C语言前四节选择题自测题148道.docx》由会员分享,可在线阅读,更多相关《C语言前四节选择题自测题148道.docx(27页珍藏版)》请在冰豆网上搜索。
C语言前四节选择题自测题148道
C语言前四章选择题自测题
说明:
1、本自测题非强制作业,大家可自由选择是否使用,但强烈建议,以供检测自身水平
2、本自测题共包括148道题,均为单项选择题
3、本自测题内容涵盖第一章至第四章
4、大家可依据题目答题效果,自行对比自己对C语言掌握情况
5、本试题暂未提供答案,一周后,即11月4日上传答案
一
1.C语言规定,必须用作为主函数名。
A)FunctionB)includeC)mainD)stdio
2.一个C程序可以包含任意多个不同名的函数,但有且仅有一个,一个C程序总是从开始执行。
A)过程B)主函数C)函数D)include
3.是C程序的基本构成单位。
A)函数B)函数和过程C)超文本过程D)子程序
4.下列说法正确的是。
A)一个函数的函数体必须要有变量定义和执行部分,二者缺一不可
B)一个函数的函数体必须要有执行部分,可以没有变量定义
C)一个函数的函数体可以没有变量定义和执行部分,函数可以是空函数
D)以上都不对
5.下列说法正确的是。
A)main函数必须放在C程序的开头
B)main函数必须放在C程序的最后
C)main函数可以放在C程序的中间部分,但在执行C程序时是从程序开头执行的
D)main函数可以放在C程序的中间部分,但在执行C程序时是从main函数开始的
6.下列说法正确的是。
A)在执行C程序时不是从mian函数开始的
B)C程序书写格式严格限制,一行内必须写一个语句
C)C程序书写格式自由,一个语句可以分写在多行上
D)C程序书写格式严格限制,一行内必须写一个语句,并要有行号
7.在C语言中,每个语句和数据定义是用结束。
A)句号B)逗号C)分号D)括号
8.下列字符串是标识符的是。
A)_HJB)9_studentC)longD)LINE1
9.以下说法正确的是。
A)C语言程序总是从第一个定义的函数开始执行
B)在C语言程序中,要调用的函数必须在main()函数中定义
C)C语言程序总是从main()函数开始执行
D)C语言程序中的main()函数必须放在程序的开始部分
10.不是C语言提供的合法关键字。
A)switchB)printC)caseD)default
11.C语言提供的合法关键字是。
A)breackB)printC)funitonD)end
12.C语言提供的合法关键字是。
A)continueB)procedureC)beginD)append
13.C语言规定:
在一个源程序中,main函数的位置。
A)必须在最开始B)必须在系统调用的库函数的后面
C)可以在任意位置D)必须在源文件的最后
14.一个C语言程序是由。
A)一个主程序和若干个子程序组成;
B)函数组成,并且每一个C程序必须且只能由一个主函数;
C)若干过程组成;
D)若干子程序组成.
二
1.在C语言中,下列类型属于构造类型的是。
A)整型B)字符型C)实型D)数组类型
2.在C语言中,下列类型属于构造类型的是。
A)空类型B)字符型C)实型D)共用体类型
3.在C语言中,下列类型属于构造类型的是。
A)整型B)指针类型C)实型D)结构体类型
4.在C语言中,下列类型属于基本类型的是。
A)整型、实型、字符型B)空类型、枚举型
C)结构体类型、实型D)数组类型、实型
5.下列类型属于基本类型的是。
A)结构体类型和整型B)结构体类型、数组、指针、空类型
C)实型D)空类型和枚举类型
6.下列字符串属于标识符的是。
A)INTB)5_studentC)2ongD)!
DF
7.下列字符串属于标识符的是。
A)_WLB)3_3333C)intD)LINE3
8.下列字符串不属于标识符的是。
A)sumB)averageC)day_nightD)M.D.JOHN
9.下列字符串不属于标识符的是。
A)totalB)lutos_1_2_3C)_nightD)$123
10.下列字符串不属于标识符的是。
A)_aboveB)allC)_endD)#dfg
11.C语言中不能用来表示整常数的进制是。
A)十进制B)十六进制C)八进制D)二进制
12.C语言中能用来表示整常数的进制是。
A)十进制、八进制、十六进制B)十二进制、十进制
C)六进制、八进制D)二进制、十进制
13.在C语言中,回车换行符是。
A)\nB)\tC)\vD)\b
14.在C语言中,退格符是。
A)\nB)\tC)\vD)\b
15.在C语言中,反斜杠符是。
A)\nB)\tC)\vD)\\
16.在ASCII码表中可以看到每个小写字母的ASCII码比它相应的大写字母的ASCII码。
A)大32B)大64C)小32D)小64
17.设d为字符变量,下列表达式不正确的是。
A)d=97B)d=’a’C)d=”a”D)d=’g’
18.设d为字符变量,下列表达式正确的是。
A)d=678B)d=’a’C)d=”d”D)d=’gjkl’
19.10+’a’+1.5-567.345/’b’的结果是型数据。
A)longB)doubleC)intD)unsignedfloat
20.语句inti=3;k=(i++)+(i++)+(i++);执行过后k的值为,i的值为。
A)9,6B)12,5C)18,6D)15,5
21.如果i=3,则k=(i++)+(++i)+(i++)执行过后k的值为,i的值为。
A)12,6B)12,5C)18,6D)15,5
22.如果i=3,则k=(++i)+(++i)+(i++)执行过后k的值为,i的值为。
A)15,6B)12,5C)18,6D)15,5
23.如果i=3,则k=(++i)+(++i)+(++i)执行过后k的值为,i的值为。
A)9,6B)12,5C)18,6D)15,5
24.如果inti=3,则printf(“%d”,-i++)的结果为,i的值为。
A)-3,4B)-4,4C)-4,3D)-3,3
25.如果inti=3,intj=4,则k=i+++j执行之后k,i和j的值分别为。
A)7,3,4B)8,3,5C)7,4,4D)8,4,5
26.已知在ASCII字符集中,数字0的序号为48,下面程序的输出结果为。
main()
{charx,y;
x=’0’;y=’9’;
printf(“%d,%d\n”,x,y);
}
A)因输出格式不合法,输出错误信息B)48,57
C)0,9D)48,58
27.已知在ASCII字符集中,字母A的序号为65,下面程序的输出结果为。
main()
{charc=’A’;inti=10;
c=c+10;
i=c%i;
printf(“%c,%d\n”,c,i);
}
A)75,7B)75,5
C)K,5D)因存在非图形字符,无法直接显示出来
28.已知在ASCII集中,字母A的序号为65,下面程序的输出结果为。
main()
{charc1=’B’,c2=’Y’;
printf(“%d,%d\n”,++c1,--c2);
}
A)输出格式不合法,输出错误信息B)67,88
C)66,89D)C,X
29.C语言中最简单的数据类型包括。
A)整型,实型,逻辑型B)整型,实型,字符型
C)整型,字符型,逻辑型D)整型,实型,逻辑型,字符型
30.C语言中,运算对象必须是整型数的运算符是。
A)%B)\C)%和\D)**
31..下列常数中,合法的C常量是。
A)-0.B)’105’C)’AB’D)3+5
32.下列常数中,合法的C常量是。
A)”x-y”B)’105’C)’Be’D)7ff
33.下列常数中,合法的C常量是。
A)’\n’B)e-310C)’DEF’D)’1234’
34.下列常数中,不合法的C常量是。
A)-0x2alB)lg3C)’[’D]”CHINA”
35.下列常数中,不合法的C常量是。
A)-0x3blB)123e+2.3C)’}’D)6e+7
36.下列符号中,可以作为变量名的是。
A)+aB)12345eC)a3BD)5e+0
37.下列符号中,可以作为变量名的是。
A)+cB)*XC)_DAYD)nextday
38.下面程序的输出结果是。
main()
{intx;
x=-3+4*5-6;printf(“%d”,x);
x=3+4%5-6;printf(“%d”,x);
x=-3*4%-6/5;printf(“%d”,x);
x=(7+6)%5/2;printf(“%d”,x);
}
A)11101B)11–321
C)12–321D)11121
39.下面程序的输出结果是。
mian()
{intx=2,y=0,z;
x*=3+2;printf(“%d”,x);
x*=y=z=4;printf(“%d”,x);
}
A)840B)1040
C)10,4D)8,4
40.下面程序的输出结果是。
main()
{intx=2,y=0,z;
x+=3+2;printf(“%d”,x);
x*=y=z=4;printf(“%d”,x);
}
A)728B)无法计算C)7,4D)8,4
41.下面程序的输出结果是。
main()
{intx=4,y=0,z;
x*=3+2;printf(“%d”,x);
x*=y==(z=4);printf(“%d”,x);
}
A)1440B)200C)204D)144
42.下面程序的输出结果是。
main()
{inti,j;
i=16;j=(i++)+i;printf(“%d”,j);
i=15;printf(“%d%d”,++i,i);
}
A)321615B)331515
C)341516D)341615
43.在C语言中,以下合法的字符常量是。
A)'\084'B)'\x43'C)'0'D)"\0"
44.若已定义X和Y为double类型,则表达式:
x=1,y=x+3/2的值为。
A)1B)2C)2.0D)2.5
45.下列程序的执行结果是。
#include
#definesum10+20
main()
{
intb=0,c=0;
b=5;
c=sum*b;
printf("%d",c);
}
A)100B)110C)70D)150
46..下列程序的执行结果是。
#include
#definesum(10+20)
mian()
{
inta=0,b=0,c=0;
a=sum;
b=5;
c=sum*b;
printf("%d",c);
}
A)100B)110C)70D)150
47.表达式(int)2.1416的值为。
A)2B)2.1C)0D)3
48.表达式(double)(20/3)的值为。
A)6B)6.0C)2D)3
49.在下面几组数据类型中,全是基本数据类型是哪一组。
A)整型实型字符型B)整型数组指针
C)数组结构体共用体D)指针逻辑型空类型
50.以下说法正确的是。
A)在C程序中,每行只能写一条语句.
B)在C程序中,无论是整数还是实数,其存放形式都一致.
C)在C程序中,%是只能用于整数运算的运算符.
D)在C程序中,变量可以不必先定义就可使用.
51.假设所有变量均为整型,则表达式(a=5,b=2,a++,a+b)的值是。
A)8B)7
C)6D)5
52.若有以下定义,则正确的赋值语句为。
inta,b;
floatx;
A)a=1,b=2,B)b++;
C)a=b=5D)b=int(x);
53..C语言规定标识符由等字符组成.
A)字母 数字 下划线 B)中划线 字母 数字
C)字母 数字 逗号 D)字母下划线中划线
54.若有如下定义:
inta=2,b=3;floatx=3.5,y=2.5;则表达式:
(float)(a+b)/2+(int)x%(int)y的值是。
A)2.500000B)3.500000C)4.500000D)5.000000
55.以下表达式:
2+’a’+i*f,其中i为整型变量,f为float型变量,则表达式的最终数据类型为。
A)intB)floatC)charD)double
56.若有:
inta,b=2;则a=(b*100+1.5,100)则a的值是。
A)100B)100.5C)200.5D)300.5
57.有如下语句:
printf(“%s,%5.3s\n”,“COMPUTER”,“COMPUTER”);
执行语句后的最终结果为。
A)COMPUTER,CMP.B)COMPUTER,CMP.
C)COMPU,CMP.D)COMPU,CMP
58.已知ch是字符型变量,下面不正确的赋值语句
是:
。
A)ch=‘\0’B)ch=‘a+b’
C)ch=‘7’+‘9’D)ch=7+9
59.若x和y都为float型变量,且x=3.6,y=5.8执行下列语句后输出结果为:
。
printf(“%f”,(x,y));
A)3.600000B)5.800000
C)3.600000,5.800000D)输出符号不够,输出不正确值
60.设变量a是整型,变量f是实型,变量I是双精度型,则表达式10+‘a’+I*f值的数据类型:
。
A)intB)floatC)doubleD)不确定
61.已知字母A的ASCII码为十进制65,下面程序段的运行结果为:
。
charch1,ch2;
ch1=‘A’+5-3;ch2=‘A’+6-3;
printf(“%d,%c\n”,ch1,ch2);
A)67,DB)B,CC)C,DD)不确定值
62.以下不正确的C语言标识符是。
A)ABCB)abcC)a_bcD)ab.c
63.设x、y均为float型变量,则以下不合法的赋值语句是。
A)++x;B)y=(x%2)/10;
C)x*=y+8;D)x=y=0;
64.若有说明语句:
charc=‘\64’;
则变量C包含:
。
A)1个字符B)2个字符
C)3个字符D)说明不合法,C值不确定。
65.表达式18/4*sqrt(4.0)/8值的数据类型为。
A)intB)floatC)doubleD)不确定
66.设整型变量a值为9,则下列表达式中使b的值不为4的表达式:
。
A)b=a/2B)b=a%2
C)b=8-(3,a-5)D)b=a>5?
4:
2
67.设有以下定义,则能使值为3的表达式是:
。
intk=7,x=12;
A)x%=(k%=5)B)x%=(k-k%5)
C)x%=kD)(x%=k)-(k%=5)
68.以下选项中是C语言的数据类型的是:
。
A)复数型B)逻辑型
C)双精度型D)集合型
三
1.C语言中调用printf进行输出时需要注意,在格式控制串中,格式说明与输出项的个数必须相同。
如果格式说明的个数小于输出项的个数,多余的输出项将;如果格式说明的个数多于输出项的个数,则对于多余的格式将输出不定值(或0)。
A)不予输出B)输出空格
C)照样输出D)输出不定值或0
2.在scanf函数的格式控制中,格式说明的类型与输入的类型应该一一对应匹配。
如果类型不匹配,系统。
A)不予接收
B)并不给出出错信息,但不可能得出正确信息数据
C)能接受正确输入
D)给出出错信息,不予接收输入
3.下列说法正确的是。
A)输入项可以是一个实型常量,如scanf("%f",4.8);
B)只有格式控制,没有输入项也能进行正确输入,如scanf("a=%d,b=%d");
C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf("%5.3f",&f);
D)当输入数据时,必须指明变量的地址,如scanf("%f",&f);
4.根据题目中已给出的数据的输入和输出形式,程序中输入/输出语句的正确是
。
main()
{
inta;floatx;
printf("inputa,x:
");
输入语句
输出语句
}
输入形式inputa,x:
32.1
输出形式a+x=5.10
A)scanf("%d,%f",&a,&x);
printf("\na+x=%4.2f",a+x);
B)scanf("%d%f",&a.&x);
printf("\na+x=%4.2f",a+x);
C)scanf("%d%f",&a,&x);
printf("\na+x=%6.1f",a+x);
D)scanf("%d%3.1f",&a,&x);
printf("\na+x=%4.2f",a+x);
5.以下程序的输出结果是。
main()
{
inti=010,j=10,k=0x10;
printf("%d,%d,%d\n",i,j,k);
A)8,10,16B)8,10,10C)10,10,10D)10,10,16
6.以下程序的输出结果是。
main()
{
inti=011,j=11,k=0x11;
printf("%d,%d,%d\n",i,j,k);
}
A)9,11,17B)9,11,11C)11,11,11D)11,11,16
7.以下程序的输出结果是。
#include
main()
{printf("%d\n",NULL);}
A)不确定的值(因变量无定义)B)0
C)-1D)1
8.以下程序的输出结果是。
main()
{
charc1='6',c2='0';
printf("%c,%c,%d,%d\n",c1,c2,c1-c2,c1+c2);
}
A)因输出格式不合法,输出出错信息B)6,0,6,102
C)6,0,7,6D)6,0,5,7
9.设有如下定义
intx=10,y=3,z;
则语句
printf("%d\n",z=(x%y,x/y));
的输出结果是。
A)3B)0C)4D)1
10.设有如下定义
intx=10,y=5,z;
则语句
printf("%d\n",z=(x+=y,x/y));
的输出结果是。
A)1B)0C)4D)3
11.以下程序的输出结果是。
main()
{intx=10,y=10;
printf("%d%d\n",x--,--y);
}
A)1010B)99C)910D)109
12.写出下面程序的输出结果。
main()
{intx;
x=-3+4*5-6;printf("%d",x);
x=3+4%5-6;printf("%d",x);
x=-3*4%6/5;printf("%d",x);
x=(7+6)%5/2;printf("%d",x);
}
A)11101B)11-321C)12-321D)11121
13.写出下面程序的输出结果。
main()
{
intx,y,z;
x=y=1;
z=x++-1;printf("%d,%d\t",x,z);
z+=-x+++(++y);printf("%d,%d",x,z);
}
A)2,03,0B)2,13,0C)2,02,1D)2,10,1
14.写出下面程序的输出结果。
main()
{
inti,j;
i=20;j=(++i)+i;printf("%d",j);
i=13;printf("%d%d),i++,i);
}
A)4214,13B)4114,14C)421313D)421314
15.若有定义:
intx,y;chara,b,c;并有以下输入数据(此处,代表换行符)
12
ABC
则能给x赋整数1,给y赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是。
A)scanf("x=%dy=%d",&x,&y);a=getchar();b=getchar();c=getchar();
B)scanf("%dy%d",&x,&y);a=getchar();b=getchar();c=getchar();
C)scanf("%d%d%c%c%c%c%c%c",&x,&y,&a,&a,&b,&b,&c,&c);
D)scanf("%d%d%c%c%c",&x,&y,&a,&b,&c);
16.若已知a=10,b=20,则表达式!
a
A)10B)20C)1D)0
17.printf函数中用到格式符"%4s",其中数字4表示输出的字符串站用4列。
如果字符串长度大于4,则按原字符长从左向右全部输出;如果字符串长度小于4,则输出方式为。
A)从左起输出该字符串,右补空格B)按原字符长从左向右全部输出
C)右对齐输出该字符,左补空格D)输出错误信息
18.以下C程序,正确的运行结果是。
main()
{
longy=-34567;
printf("y=%-8ld\n",y);
printf("y=%-08ld\n",y);
printf("y=%08ld\n",y);
printf("y=%+8ld\n",y);
}
A)y=-34567B)y=-34567
y=-34567y=-34567
y=-0034567y=-0034567
y=-34567y=+-34567
C)y=-34567D)y=-34