第一、二章 C语言概述与算法
一、选择题(四个选项中只有一个是正确的----下同)
1. 一个算法应该具有“确定性”等五个特性,下面对另外4个特性的描述中错误的是 A) 有零个或多个输入 B) 有零个或多个输出 C) 有穷性 D) 可行性 2. 以下叙述中正确的是
A) C语言的源程序不必通过编译就可以直接运行
B) C语言的每条可执行语句最终都将被转换成二进制的机器指令 C) C语言的源程序经编译形成的二进制代码可以直接运行
D) C语言的函数不可以单独进行编译
3. 对用C语言编写的代码程序,以下叙述中哪个是正确的
A) 可立即执行 B) 是一个源程序
C) 经过编译即可执行 D) 经过编译解释才能执行 4. 结构化程序由三种基本结构组成, 由这三种基本结构组成的算法
A) 可以完成任何复杂的任务 B) 只能完成部分复杂的任务 C) 只能完成符合结构化的任务 D) 只能完成一些简单的任务
5.有一个命名为C001.C的C语言源程序,当正常执行后,在当前目录下不存在的文件是
A)C001.OBJ B)C001.DAT C)C001.EXE D)C001.C 二、填空题
1.结构化程序由 、 、 三种基本结构组成。 2.模块化程序设计的设计原则是 和 。
3.组成C程序的基本单位是 ,其组成部分包括 和 。 4.C程序中的main称 ,它可以出现在程序的 位置。
5.由“/*”和“*/”括起来的内容称为 ,它的作用是 。 6.描述算法的常用方法有: 。
第三章 数据类型、运算符与表达式
一、选择题
1.与十进制数97不等值的字符常量是
A) ’a’ B) ’\\101’ C) ’\\x61’ D) ’\\141’
2.在编写了一个C语言源程序C001.C并正确执行之后,当前目录下哪个文件不存在 A) C001.C B) C001.OBJ C) C001.DAT D) C001.EXE 3.以下选项中正确的整型常量是
A) 5. B)-10 C)1.000 D)4/5 4.以下选项中正确的实型常量是
A) 0 B)3. 1415 C)0.03x102 D).32 5.以下选项中不正确的实型常量是
A)2.670E-1 B)0.05e+1.5 C)-77.77 D)456e-2 6.以下选项中不合法的用户标识符是
A)wb-1 B)file C)Main D)PRINTF 7.以下选项中不合法的用户标识符是
A)_123 B)printf C)A$ D)Dim 8.C语言中运算对象必须是整型的运算符是
A)% B)/ C)* D)+ 9.可在C程序中用作标识符的一组标识符是
A)void B)as_b3 C)For D)2c
Define _123 -abc DO WORD If case SiG
10.若变量已正确定义并赋值,符合C语言语法的表达式是
A)a=a+7; B)a=7+b+c,a++ C)int(12.3%4) D)a=a+7=c+b 11.以下非法的赋值语句是
A) n=(i=2,++i); B)j++; C) ++(i+1); D) x=j>0;
12.设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是 A) 6.500000 B) 6 C) 5.500000 D) 6.000000 13.已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 && y+z/2的值是 A) 6 B) 0 C) 2 D) 1 14.以下叙述中正确的是
A)a是实型变量,C允许以下赋值a=10,因此可以这样说实型变量中允许存放整型值。
B)在赋值表达式中,赋值号右边既可以是变量也可以是任意表达式
C)执行表达式a=b后,在内存中a和b存储单元中的原有值都将被改变,a的值已由原值改变为b的值,b的值由原值变为0
D)已有a=3, b=5。当执行了表达式a=b,b=a之后,已使a中的值为5,b中的值为3 15.以下叙述中正确的是
A)在C程序中,无论是整数还是实数,只要在允许的范围内都能准确无误的表示。 B)C程序由主函数组成。 C)C程序由函数组成。
D)C程序由函数和过程组成。 16.Turbo C中int类型变量所占字节数是
A)1 B)2 C)3 D)4 17.不合法的八进制数是
A)0 B)028 C)07700 D)01 18.不合法的十六进制数是
A)oxff B)0Xabc C)0x11 D)0x19
19.若a、b、c、d都是int类型变量且初值为0,以下选项中不正确的赋值语句是
A)a=b=c=100; B)d++; C)c+b; D)d=(c=22)-(b++); 20.以下选项中不是C语句的是
A){int i; i++; printf(“%d\\n”, i); } B); C)a=5,c=10 D){ ; } 21.以下合法的C语言赋值语句是
A)a=b=58 B)k=int(a+b); C)a=58,b=58 D)--i;
22.以下程序的输出结果是 main()
{ int x = 10, y = 3;
printf(“%d\\n” , y = x / y); }
A)0 B)1 C)3 D)不确定的值 23.C语言中的简单数据类型有
A)整型、实型、逻辑型 B)整型、实型、字符型
C)整型、字符型、逻辑型 D)整型、实型、逻辑型、字符型 24.C语言中,字符(char)型数据在微机内存中的存储形式是
A)反码 B)补码 C)EBCDIC码 D)ASCII码 25.设有语句char a= ?\\172?;,则变量a
A)包含1个字符 B)包含2个字符 C)包含3个字符 D)说明不合法 26.C语言中不合法的字符常量是
A)?\\xff? B)?\\65? C)?&? D)?\\028? 27.C语言中不合法的字符串量是
A)”\\121” B)?y=? C)”\\n\\n” D)”ABCD\\x6d”
二、填空题
1.若k为int型变量且赋值11,请写出运算k++后表达式的值 和变量的值 。 2.若x为double型变量,请写出运算x = 3.2, ++x后表达式的值 和变量的值 。
3.函数体由符号 开始,用符号 结束。
4.函数体的前面是 部分,其后面是 部分。
5.在C语言程序中,用关键字 定义基本整型变量,用关键字 定义单精度实型变量,用关键字 定义双精度实型变量。
6.把a1、a2定义成单精度实型变量,并赋初值1的说明语句是 。 7.C程序中定义的变量,代表内存中的一组 。 8.表达式3.5 + 1 / 2的计算结果是 。 9.对以下数学式,写出三个等价的C语言表达式是 、 、 。
ab?c
10.表达式s = 10应当读做“ ”。
11.计算机中内存储器的最小单位称为 ,其中能容纳的数是 个 12.通常一个字节包含 个二进制位。在一个字节中能存放的最大十进制整数是 ,它的二进制数的形式是 ;最小十进制整数是 ,它的二进制形式是 。
13.当计算机用两个字节存放一个整数时,其中能存放的最大十进制整数是 、最小十进制整数是 ,它们的二进制形式是 。
14.以下程序的输出结果是 。
main() { int a=0;
a+=(a=8);
printf(\\n\); }
第四章 顺序结构程序设计
一、选择题
1.若变量已正确说明为int类型,要给a、b、c输入数据,以下正确的输入语句是 A)read(a,b,c) B)scanf(“%d%d%d”,a,b,c);
C)scnaf(“%D%D%D”,&a,&b,&C); D)scanf(“%d%d%d”, &a,&b,&c);
2.若变量已正确说明为float类型,要通过以下赋值语句给a赋予10、b赋予22、c赋予33,以下不正确的输入形式是
scanf(“%f %f %f”, &a, &b, &c);
A)10 B)10.0,22.0,33.0 C)10.0 D)10 22 22 22.0 33.0 33
33
3.已知i、j、k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是
A)scanf(\ B) scanf(\C)scanf(\
D)scanf(\4.若有以下程序: main()
{ int k=2, i=2, m;
m=(k+=i*=k); printf(\ }
执行后的输出结果是
A) 8,6 B) 8,3 C) 6,4 D) 7,4
5 若变量已正确定义,要将a和b中的数进行交换,下面不正确的语句是 A)a=a+b, b=a-b, a=a-b; B)t=a; a=b; b=t; C)a=t; t=b; b=a; D)t=b; b=a; a=t; 6.有以下程序 main()
{ int i = 10, j = 1;
printf(\
}
执行后输出结果是
A) 9,2 B) 10,2 C) 9,1 D) 10,1
7.若变量已正确定义,以下程序段的输出结果是 x=5.16894;
printf(“%f\\n”, (int)(x*1000+0.5)/(float)1000);
A)输出格式说明与输出项不匹配,输出无定值 B)5.17000
C)5.168000 D)5.169000 8.若有以下程序段,c3中的值是 int c1 = 1, c2 = 2, c3; c3 = c1 / c2;
A)0 B)1/2 C)0.5 D)1 9.若有以下程序段,其输出结果是 int a = 0, b = 0, c = 0;
c = ( a -= a - 5), (a = b, b+3); printf(“%d,%d,%d\\n”,a, b, c);
A)0,0,-10 B)0,0,5 C)-10,3,-10 D)3,3,-10 10.当运行以下程序时,在键盘上从第一列开始,输入9876543210
{ int a; float b, c;
scanf(“-?O”, &a, &b, &c); printf(“\\na=%d,b=%f,c=%f\\n”,a, b, c); }
A)a=98,b=765,c=4321 B)a=10,b=432,c=8765 C)a=98,b=765.000000,c=4321.000000 D)a=98,b=765.0,c=4321.0 11.以下程序的输出结果是 main()
{ int a = 2, b =5;
printf(“a=%%d,b=%%d\\n”,a, b); }
A)a=%2,b=%5 B)a=2,b=5 C)a=%%d,b=%%d D)a=%d,b=%d 12.若int类型占两个字节,则以下程序段的输出是 int a=-1;
printf(“%d, %u\\n”, a, a);
A)-1,-1 B)-1,32767 C)-1,32768 D)-1,65535 13.以下程序段的输出是 int x = 496;
printf(“*%-06d*\\n”, x);
A)*496 * B)* 496*
C)*000496* D)输出格式不合法 14.以下程序段的输出是 float a=3.1415; printf(“|%6.0f|\\n”, a);
A)|3.1415| B)| 3.0| C)| 3| D)| 3.| 15.以下程序段的输出是
printf(“|.5f|\\n”, 12345.678);
A)|2345.67800| B)|12345.6780| C)|12345.67800| D)|12345.678| 16.若从终端输入以下数据,要给变量c赋以283.19,则正确的输入语句是 A)scanf(%f”,c) B)scanf(%8.4f”, &c); C)scanf(%6.2f”, &c); D)scanf(?”, &c); 17.若变量已正确说明,要求用以下语句给a赋予3.12、给b赋予9.0,则正确的输入形式