第一章 C语言概述
1.1选择题
【题1.1】以下不是C语言的特点的是() A.C语言简洁、紧凑
B.能够编制出功能复杂的程序 C. C语言可以直接对硬件进行操作 D.C语言移植性好
【题1.2】以下不正确的C语言标识符是( )。 A.ABC B.abc C.a_bc D.ab.c 【题1.3】以下正确的c语言标识符是()。 A.%x B.a十b C.a123 D.test! 【题1.4】一个c程序的执行是从( ).
A.main( )函数开始,直到main( )函数结束 B.第一个函数开始,直到最后一个函数结束 C.第一个语句开始,直到最后一个语句结束
D.main( )函数开始,直到最后一个函数结束 【题1.5】一个C语言程序是由()。 A)一个主程序和若干子程序组成 B)函数组成 C)若干过程组成 D)若干子程序组成
【题1.6】一个c程序是由()。 A.一个主程序和若干子程序组成 B.一个或多个函数组成 C. 若干过程组成 D.若干子程序组成
【题1.7】C语言派程序的基本单位是( )。 A.过程 B.函数 c子程序 D.标识符 【题1.8】编辑程序的功能是()。
A.建立并修改程序 B.将c源程序编译成目标程序 C.调试程序 D.命令计算机执行指定的操作
1.2填空题
【题1.9】c语言符号集包括【】。
【题1.10】一个c程序有且仅有一个【】函数。
【题1.11】C程序的基本单位是【】。
【题1.12】一个c派程序有【 】个main( )函数和【】二个其他函数 。 【题1.13】在一个C源程序中,注释部分两侧的分界符分别是【】和【】。 【题1.14】结构化设计中的三种基本结构是【】。
【题1.15】在C语言中,输入操作是由库函数【】完成的,输出函数是由库函数【】完成的。
1.3编程题
【题1.16】编写一个程序,在屏幕上输出你的姓名。试着上机编辑、编译、运行你的程序。
第二章 数据类型、运算符与表达式
2.1选择题
【题2.1】以下结果为整数的表达式(设有int i;char c;float f;)().
A.i十f B.i*c C.c十f D.i十c十f 【题2.2】以下使i的运算结果为4的表达式是()。 A.int i=0,j=0;
(i=3,(j十十)十i); B.int i=1,j=0; j=i=((i=3)*2); C.int i=0,j=1;
(j==1)?(i=1);(i=3); D.int i=1,j=1; i+=j十=2;
【题2.3】设n=10,i=4、则赋值运算n%=i+1执行后,n的值是().
A.0 B.3 C.2 D.1
【题2.4】逗号表达式(a=3*5,a*4),a十15的值为( ),a的值为( )。
①A.15 B.60 C.30 D.不确定 ②A.60 B.30 C.15 D.90
【题2.5】如果a=1,b=2,c=3,d=4,则条件表达式a<b?a:c<d?c:d的值为().
A.1 B.2 C.3 D.4 【题2.6】下面不正确的字符串常量是()
A)’abc’ B)”12’12” C)”0” D) ” ”
【题2.7】在程序中可以用来作为变量名的合法的标识符是:_______
A.)static B) 23_b1 C)stu_1t D) #33 【题2.8】若有代数式3ae/bc,则不正确的C语言表达式是()
A)a/b/c*e*3 B)3*a*e/b/c C)3*a*e/b*c D)a*e/c/b*3 【题2.9】以下不正确的叙述是()
A)在C程序中,逗号运算符的优先级最低
B)在C程序中,APH和aph是两个不同的变量
C)若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变
D)当从键盘输入数据时,对于整形变量只能输入整形数值,对于实型变量只能输入实型数值
【题2.10】以下正确的叙述是().
A)在C程序中,每行中只能写一条语句
B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数 C)在C程序中,无论是正数还是实数,都能被准确无误的表示 D)在C程序中,%是只能用于正数运算的运算符
【题2.11】已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=’A’+’
6’-‘3’;后,c2的值为().
A)D B)68 C)不确定的值 D)C
【题2.12】在C语言中,要求运算数必须是整形的运算符是().
A)/ B)++ C)!= D)%
【题2.13】若以下变量均是整形,且num=sum=7;则计算表达式sUM=num++,sUM++,++num后sum的值为().
A)7 B)8 C)9 D)10
【题2.14】 在C语言中,int、char和short三种类型数据在内存中所占用的字节数()。 A)由用户自己定义 B)均为2个字节
C)是任意的 D)由所用的机器的机器字长决定 【题2.15】 若有说明语句: char c=‘\\72’; 则变量c()。
A)包含1个字符 B) 包含2个字符
C)包含3个字符 D) 说明不合法,c的值不确定
【题2.16】 设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为()。
A)int B)float C)double D)不确定
【题2.17】设int n=3;则十十n的结果是(),n的结果是()
A)2 B)3 C)4 D)5
【题2.18】设有说明: char w; int x; float y; double z; 则表达式w*x+z-y值的数据
类型为()。
A)float B)char C)int D)double. 【题2.19】语句(1,2,3,4)的结果是()。
A)1 B)2 C)3 D)4
2.2填空题
【题2.20】表达式10%3的结果是【】
【题2.21】 执行下列语句后,a的值是【】
int a=12;a+=a-=a*a;
【题2.22】 定义int x,yl执行y=(x=1,十十x,x十2)5语句后,y的值是【】 【题2.23】 在C语言中的实型变量分为两种类型,他们是【单精度型(或:float型)】和
【双精度型(或;double型]】。
【题2.24】 若a、b和c均是int型变量,则计算表达式后,a值为【】,b值为【】,c值
为【】。
a=(b=4)+(c=2)
【题2.25】 若有定义:char c=’\\010’;则变量c中包含的字符个数为【】。
【题2.26】 若x和n均是int型变量,且x的初值为12,n的初值为5,则计算表达式后
x的只为【】。
x%=(n%=2)
【题2.27】 C语言中的标识符只能由三种字符组成,它们是【】,【】和【】。
【题2.28】 已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式
ch=’a’+’8’-‘3’的值为【】.
【题2.29】 设int a=1,b=2.c=3,d;执行d=!(a十b十c)后,d的结果是【】
第三章 最简单的C程序设计
3.1 选 择 题
【题3.1】以下C程序正确的运行结果是(). main()
{long y=-43456;
printf(“y=%-8ld\\n”,y); printf(“y=%-08ld\\n”,y);
printf(“y=ld\\n”,y); printf(“y=%+8ld\\n”,y); }
A)y=-43456 B)y=-43456
y=-43456 y=-43456 y=-0043456 y=-0043456 y=-43456 y=+ 43456
C) y=-43456 D) y= -43456 y=-43456 y=-0043456 y=-0043456 y=00043456 y= -43456 y=+43456 【题3.2】以下C程序正确的运行结果是(). main()
{long y=23456;
printf(“y=%3x\\n”,y); printf(“y=%8x\\n”,y); printf(“y=%#8x\\n”,y); } }
A) y = 5ba0 B) y = ︼ ︼ ︼5ba0
y = ︼ ︼ ︼ ︼5ba0 y = ︼ ︼ ︼ ︼ ︼ ︼ ︼5ba0 y = ︼ ︼0x5ba0 y =︼ ︼0x5ba0 C) y = 5ba0 D) y = 5ba0
y = 5ba0 y = ︼ ︼ ︼ ︼5ba0 y = 0x5ba0 y = # # # #5ba0
【题3.3】已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据是,正确的数据输入方式是( )。(注:︼表示空格,
int a1,a2;char c1,c2;
scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);
A) 10A︼20B
【题3.4】已有定义int x; float y;且执行scanf(“=?”,&x,&y);语句时从第一列开始输入数据12345︼678<回车>,则x的值为( ),y的值为( )。(注:︼表示空格)
【1】A)12345 B)123 C) 45 D) 345
【2】A)无定植 B) 45.000000 C) 678.000000 D) 123.000000
【题3.5】已有如定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A 和B,当从第一列开始输入数据时,正确的数据输入方式是( )。(注:
int a1,a2; char c1,c2; scanf(“%d%d”,&a1,&a2); scanf(“%c%c”,&c1,?);
A) 1020AB
【题3.6】已有程序和输入数据的形式,程序中输入语句的正确形式应当为( )。
(注:︼表示空格,
{ int a; float f;
printf(“\\nInput number:”); 输入语句
printf(“\\nf=%f,a=%d\\n”,f,a); }
Input number:4.5︼ ︼2
D) scanf(“%f %d”,&f,&a);
【题3.7】根据定义和数据的输入方式,输入语句的正确形式为( )。
已有定义:float f1,f2; 数据的输入方式:4.52 3.5
A) scanf(“%f,%f”,&f1,&f2); B) scanf(“%f%f”,&f1,&f2);
C) scanf(“%3.2f%2.1f”,&f1,&f2); D) scanf(“%3.2f,%2.1f”,&f1,&f2);
【题3.8】阅读以下程序,当输入数据的形式为:25,13,10
main()
{ int x,y,z;
scanf(“%d%d%d”,&x,&y,&z); printf(“x+y+z=%d\\n”,x+y+z); }
A) x+y+z=48 B) x+y+z=35 C) x+z=35 D) 不确定值
【题3.9】根据题目中已给出的数据的输入和输出形式,程序中输入输出语句的正确内容是( )。
main()
{ int x;float y;
pringf(“enter x,y;”) 输入语句 输出语句 }
输入形式 enter x,y:2 3.4 输出形式 x+y=5.40
A) scanf(“%d,%f”,&x,&y); printf(“\\nx+y=%4.2f”,x+y); B) scanf(“%d%f”,&x,&y); printf(“\\nx+y=%4.2f”,x+y); C) scanf(“%d%f”,&x.&y); printf(“\\nx+y=%6.1f”,x+y); D) scanf(“%d%3.1f”,&x,&y); printf(“\\nx+y=%4.2f”,x+y); 【题3.10】以下说法正确的是( ).
A) 输入项可以为一个实型常量,如scanf(“%f”,3.5);
B) 只有格式控制,没有输入项,也能进行正确输入,如scanf(“a=%d,b=%d”); C) 当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(“%4.2f”,&f);
D) 当输入数据时,必须指明变量的地址,如scanf(“%f”,&f);
【题3.11】根据下面的程序及数据的输入和输出形式,程序中输入语句的正确形式应该为( ).
main()
{ char ch1,ch2,ch3; 输入语句
printf(“%c%c%c”,&ch1,&ch2,&ch3); }
输入形式:A B C