2 C语言程序由什么组成?(单选) ( C )
A. 子程序 B. 主程序和子程序 C. 函数 D. 过程
3. 源程序要正确地运行,必须要有什么函数?(单选) C
A. printf函数 B. 自定义的函数 C. main函数 D. 不需要函数
4. 指出下面合法的标识符:(多选) CDG
A. 3ab B. int C. ABC D. a_3
E. sum.a F. #abc G. _stu2 H. abc f
5. 指出下面哪些是保留字:(多选) AEFG
A. char B. abc C. printf D. Int
E. float F. define G. include H. PI
6. 指出下面哪些是合法的用户定义的标识符?(多选) BDG
A. P-S B. putchar C. double D. _908
E. *par F. sheep! G. wind H. x y
7. C语言的基本类型哪些:(多选) ABEG
A. 整型 B. 枚举型 C. 数组型 D. 指针型
E. 字符型 F. 构造型 G. 实形 H. 空类型
8. 这段程序中的常量有:(多选) ACF
#define PI 3.14
void main()
{
int sum;
sum = 10 + 15;
printf("sum=%d\n",sum);
printf("result is 25\n");
}
这段程序中常量有: ACF
A. 10 B. sum C. 15 D. 25 E. main F. PI
9. C语言中整形常量按进制划分,有以下几种:(多选) ABC
A. 十六进制常量 B. 十进制常量 C. 八进制常量 D. 二进制常量
10. 75的十六进制写法为_0x4b,八进制写法为0113。
0x75的八进制写法为0165,十进制写法为117。
075的十进制写法为61,十六进制写法为0x3d。
11. 如果要把常量327存入变量a中,a可以定义成哪些类型?(多选)ACD
A. int B. char C. long D. float
12. 下面哪些写法是对的,而且是常量?(多选) ABCGH
A. 125 B. -.456 C. 1.25e20 D. 'AB'
E. E6 F. 0238 G. 0xabcdef H. "\n\\\'\123"
13. 下面哪个
达式的值为4.(单选) D
A. 11/3 B. 11.0/3 C. (float)11/3 D. (int)(11.0/3+0.5)
14. 已知整型变量a=6,b=7,c=1,则下面表达式的值为多少?
a+3 9
(b-a*3)/5 -2
c*(a+b)+b*(c+a) 62
3.2*(a+b+c) 44.8_
15. 已知整型变量a=6,字符型变量ch='A',浮点数变量f=2.1,则下面表达式的值为多少?
(提示:'A'的ASCII码为65)
a+4.5 10.5
ch+a+f 73.1
(a+30)/5 7
(a+30)/5.0 7.2
16. 指出下面错误的表达式:(多选) BD
A. a+b=5 B. 56=a11 C. i=i++
D. 5.6+6.2%3.1 E. 12 F. a=5,b=6,c=7
17. 若变量f已说明为float类型,i为int类型,则下面哪些表达式(或语句)能够实现将f中的数值保留小数点后两位,第三位进行四舍五入的运算?(多选) BC
A. f=(f*100+0.5)/100.0 B. i=f*100+0.5,f=i/100.0;
C. f=(int)(f*100+0.5)/100.0; D. f=(f/100+0.5)*100.0;
18. 写出下面这个程序的结果。
void main()
{
int count,i;
int x,y,z;
x=y=z=0;
scanf("%d",&count);
for(i=0;i
0||a<0 B. a C. !a==0 D. !a
20.若要输出下列各种类型的数据,应使用什么转换说明符。(答题请打上双引号)
字段宽度为4的十进制数应使用"%4d",字段宽度为6的十六进制数应使用___,八进制整数应使用___,字段宽度为3的字符应使用___,字段宽度为10,保留3位小数的实数应使用___,字段宽度为8的字符串应使用___。
答案:"%6x" "%o" "%3c" "%10.3f" "%8s"
21. 该源程序执行后,屏幕上显示什么?(单选)
void main()
{
int a;
float b;
a=4;
b=9.5;
printf("a=%d,b=%4.2f\n",a,b);
} C
A. a=%d,b=%f\n B. a=%d,b=%f C. a=4,b=9.50 D. a=4,b=9.5
22. 下面哪些是非法的C语言转义字符?(多选) BC
A. '\t' B. '\08' C. '\0xaf' D. '\\'
23. 以下程序输入三个整数值给a,b,c,程序把b中的值给a,把c中的值给b,把a中的值给c,然后输出a,b,c的值。请填空。
#include
main()
{
___
int temp;
printf("Enter a,b,c:");
scanf("%d%d%d",___);
___
a=b;
b=c;
___
printf("a=%d b=%d c=%d\n",a,b,c);
}
答案: int a,b,c; &a,&b,&c temp=a; c=temp;
24. 若a为整型变量,且有以下语句___。(单选) B
a=-017L;
printf("%d\n",a);
则下面哪个说法是正确的?
A. 赋值不合法 B. 输出值为-17 C. 输出为不确定值 D. 输出值为-15
25. 若ch为char型变量,a为int型变量,(已知字符a的ASCII十进制代码为97)则执行以下语句后的输出为哪一个?(单选) C
char ch;
int a;
ch='a';
a=12;
printf("%x,%o,",ch,ch,a);
printf("k=%%d\n",k);
A. 61,141,12,k=%d B. 输出项与格式描述符个数不符,输出为零值或不定值
C. 61,141,k=%d D. 61,141,k=%12
26. 若有以下说明语句:(单选) B
char s='\\\092';
则下面哪一项是正确的.
A. 使s的值包含2个字符 B. 说明语句不合法
C. 使s的值包含6个字符 D. 使s的值包含4个字符
27.若k,g均为int型变量,则以下语句的输出为哪一项?(单选)
int k,g;
k=017;
g=111;
printf("%d,",k);
printf("%x\n",g); (A)
A. 15,6f B. f,6f C. f,111 D. 15,111
28. 请从下面的选项中选出正确的C语言的转义字符。(多选) BCDH
A. '//' B. '\'' C. '\t' D. '\n'
E. '\1011' F. '/018' G. '/123' H. '\xaa'
29. 如这程序所示,如果运行时,输入 18,18 ,那么 b的值为多少?(单选) C
void main()
{
int a,b;
scanf("%d,%o",&a,&b);
b+=a;
printf("%d",b);
}
A. 36 B. 34 C. 输入错误,b的值不确定 D. 18
30. 读懂程序并填空。
#include
void main()
{
char ch=0x31;
printf("%d\n",ch);//屏幕显示___49
printf("%o\n",ch);//屏幕显示___61
printf("%x\n",ch);//屏幕显示___31
printf("%c\n",ch);//屏幕显示___1
}
一、选择题((1)~(40)每题1分,(41)~(50)每题2分,共60分)
(1)在计算机中,一个字节所包含二进制位的个数是 C
A)2 B)4 C)8 D)16
(2)在多媒体计算机中,CD-ROM属于 A
A)存储媒体 B)传输媒体 C)表现媒体 D)表示媒体
(3)在DOS系统中,带有通配符的文件名*.*表示 B
A)硬盘上的全部文件 B)当前盘当前目录中的全部文件
C)当前盘上的全部文件 D)根目录中的全部文件
(4)十六进制数100转换为十进制数为 A
A)256 B)512 C)1024 D)64
(5)能将高级语言编写的源程序转换为目标程序的软件是 D
A)汇编程序 B)编辑程序 C)解释程序 D)编译程序
(6)在Internet中,用于在计算机之间传输文件的是 C
A)TELNET B)BBS C)FTP D)WWW
(7)在Windows环境下,资源管理器左窗口中的某文件夹左边标有"+"标记表示B
A)该文件夹为空 B)该文件夹中含有子文件夹
C)该文件夹中只包含有可执行文件 D)该文件夹中包含系统文件
(8)在Windows环境下,下列叙述中正确的是 A
A)在"开始"菜单中可以增加项目,也可以删除项目
B)在"开始"菜单中不能增加项目,也不能删除项目
C)在"开始"菜单中可以增加项目,但不能删除项目
D)在"开始"菜单中不能增加项目但可以删除项目
(9) 从Windows环境进入DOS方式后,返回Windows环境的命令为 C
A)QUIT B)WIN C)EXIT D)ESC
(10) 下列叙述中正确的是 D
A)计算机病毒只感染可执行文件 B)计算机病毒只感染文本文件
C)计算机病毒只能通过软件复制的方式进行传播
D)计算机病毒可以通过读写磁盘或网络等方式进行传播
1)一个C程序的执行是从 A
A)本程序的main函数开始,到main函数结束
B)本程序文件的第-个函数开始,到本程序文件的最后-个函数结束
C)本程序的main函数开始,到本程序文件的最后-个函数结束
D)本程序文件的第-个函数开始,到本程序main函数结束
2) 以下叙述正确的是: C
A)在C程序中,main函数必须位于程序的最前面 B)C程序的每行中只能写-条语句
C)C语言本身没有输入输出语句
D)在对-个C程序进行编译的过程中,可发现注释中的拼写错误
3) 以下叙述不正确的是 D
A)-个C源程序可由-个或多个函数组成 B)-个C源程序必须包含-个main函数
C)C程序的基本组成单位是函数 D)在C程序中,注释说明只能位于-条语句的后面
4)C语言规定:在-个源程序中,main函数的位置 C
A)必须在最开始 B)必须在系统调用的库函数的后面 C)可以任意 D)必须在最后
5)-个C语言程序是由 B
A)-个主程序和若干子程序组成 B)函数组成 C)若干过程组成 D)若干子程序组成
6)在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为 A
A)char B)10 A 20 B C)10A20 D)10A20 B。
22.已有定义int x; f1oat y;且执行scanf("%3d%f",&x,&y);语句,
若从第1列开始输入数据12345678(回车),则x 的值为 B
A)12345 B)123 C)45 D) 345
23.已有定义int x; f1oat y;且执行scanf("%3d%f",&x,&y);语句,
若从第-列开始输入数据12345 678(回车),则y 的值为: B
A)无定值 B)45.0000 C)678.000000 D)123.00000
24.已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A,B,
当从第-列开始输入数据时,正确的数据输入方式是: D
int a1,a2; char c1,c2;
scanf("%d%d",&a1,&a2);
scanf("%c%c",&c1,&c2);
A)1020AB B)10 20AB C)10 20 AB D)10 20AB
25.已有程序段和输入数据的形式如下,程序中输入语句的正确形式应当为 D
main()
{int a;float f;
printf("\nInput number:");
输入语句
printf("\nf=%f,a= %d\n ,f,a);
}
Input number: 4.5 2
A)scanf("%d,%f",&a,&f); B)scanf("%f,%d",&f,&a)
C)scanf("%d%f",&a,&f); D)scanf("%f%d",&f,&a);
26.根据定义和数据的输入方式,输入语句的正确形式为: B
已有定义: float fl,f2;
数据的输入方式:4.52
3.5
A)scanf("%f,%f",&f1,&f2); B)scanf("%f%f",&f1,&f2 );
C)scanf("%3.2f%2.1f",&f1,&f); D)scanf("%3.2f%2.1f",&f1,&f2);
27.阅读以下程序,当输入数据的形式为25,13,10正确的输出结果为: D
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)不确定值
28.阅读 下程序,若运行结果为如下形式 ,输入输出语句的正确内容是: B
main()
{int x; float y; printf("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.lf",x+y);
D)scanf("%d%3.1f",&x,&y );printf("\nx+y=%4.2f",x+y);
29.以下说法正确的是: D
A)输入项可以为-实型常量,如scanf("%f",3.5);
B)只有格式控制,没有输入项,也能进行正确输入,如scanf("a=%d,b=%d");
C)当输入-个实型数据时,格式控制部分应规定小数点后的位数,如scanf("%4.2f",&f);
D)当输入数据时,必须指明变量的地址,如scanf("%f",&f);
30.根据下面的程序及数据的输入方式和输出形式,程序中输入语句的正确形式应该为: A
main()
{char ch1 ,ch2 ,ch3;
输入语句
printf("%c%c%c",ch1,ch2,ch3);}
输入形式: A B C
输出形式: A B
A) scanf("%c%c%c",&ch1,&ch2,&ch3); B) scanf("%c,%c,%c", &ch1,&ch2, &ch3);
C) scanf("%c %c %c",&ch1,&ch2,&ch3); D) scanf("%c%c",&ch1,&ch2,&ch3);
31.C语言结构体类型变量在程序执行期间 A
A)所有成员一直驻留在内存中 B)只有一个成员驻留在内存中
C)部分成员驻留在内存中 D)没有成员驻留在内存中
32.在16位IBMPC机上使用C语言,若有如下走义,则结构变量b占用内存的字节数是D
struct data
{int i;
char ch ;
double f;
}b;
A)1 B )2 C)8 D)11
33.以下程序的运行结果是 A
#include"stdio.h"
main()
{struct date
{int year,month,day;
}today;
printf("%d\n",sizeof(struct date));
}
A)6 B )8 C)10 D)12
34.根据下面的走义,能打印出字母M的语句是 D
struct person {char name[9];
int age;
}
struct person class[10]={"John",17,"Paul",19,"Mary",18,"adam",16
};
A)printf("%c\n",class[3].name); B)printf("%c\n",class[3].name[1]);
C)printf("%c\n",class[2].name[1]); D)printf("%c\n",class[2].name[0]);
35.已知函数的调用形式:fread(buffer,size,count,fp);其中buffer代表的是C
A)一个整型变量,代表要读入的数据项总数 B)一个文件指针,指向要读的文件
C)一个指针,指向要读入数据的存放地址 D)一个存储区,存放要读的数据项
35.逻辑运算符两侧运算对象的数据类型 D
A)只能是0或1 B)只能是0或非0正数
C)只能是整型或字符型数 D)可以是任何类型的数据
36.下关于运算符优先顺序的描述中正确的是 C
A)关系运算符< 算术运算符< 赋值运算符< 逻辑与运算符
B)逻辑 运算符< 关系运算符< 算术运算符< 赋值运算符
C)赋值运算符< 逻辑与运算符< 关系运算符< 算术运算符
D)算术运算符< 关系运算符< 赋值运算符< 逻辑与运算符
37、一个C程序的执行是从( A )。
A)本程序的main函数开始,到main函数结束
B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C)本程序的main函数开始,到本程序文件的最后一个函数结束
D)本程序文件的第一个函数开始,到本程序main函数结束
38、若x、i、j和k都是int型变量,则计算下面表达式后,x 的值为( C ),x = ( i = 4, j =16, k =32)
A)4 B)16 C)32 D)52
39、假设所有变量均为整型,则表达式(a=2,b=5,b+ +,a+b)的值是( B )。
A) 7 B) 8 C) 6 D) 2
40、若已定义x和y为double类型,x =1.5则表达式y = x + 3/2 的值是 ( D )
A) 1 B) 2 C) 2.0 D) 2. 5
41、在C语言中,要求运算数必须是整型的运算符是( A )
A) % B) / C) < D) !
42、有输入语句:scanf("a=%d,b=%d,c=%d",&a,&b,&c);,为使变量a的值为1,b为2,c为3,从键盘输入数据的正确形式应当是( D )。
A)132 B)1,3,2 C)a=1 b=3 c=2 D)a=1,b=3,c=2
43、已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=’A’+’6’-‘3’;后,c2的值为( A )。
A) D B) 68 C) 不确定的值 D) C
44、在C语言中,int、char和short三种类型数据在内存中所占用的字节数( D )。
A) 由用户自己定义 B) 均为2个字节 C) 是任意的 D) 由所用机器的机器字长决定
45、在C语言提供的合法的关键字是:( C )
【A】Swicth 【B】cher 【C】case 【D】defeult
46、阅读以下程序,当输入数据的形式为:25,13,10,正确的输出结果是( D )。
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)不确定值
47、若有以下定义,则正确的赋值语句是( A )。
int a,b; float x;
A)a=1,b=2, B) b++; C)a=b=5 D)b=int(x);
48、以下程序的运行结果是( C )。
main()
{int m=5;
if(m++>5)printf(“%d\n”,m);
else printf(“%d\n”,m--);
}
A)4 B)5 C)6 D)7
49、英文小写字母d的ASCII码为100,英文大写字母D的ASCII码为( D )
A) 50 B) 66 C) 52 D) 68
50、C语言中基本的数据类型包括:( C )
A:整型,实型,字符型和逻辑型 B:整型,实型,字符型和结构体
C:整型,实型,字符型和枚举型 D:整型,实型,字符型和指针型