1、1一、选择题(每题 1 分,共 20 分)1.C语言程序从 main()函数开始执行,所以这个函数要写在( D ) 。A程序文件的开始 B程序文件的最后C它所调用的函数的前面 D程序文件的任何位置2.下列方法中错误的是( D ) 。A主函数可以分为两个部分:主函数说明部分和主函数体。B主函数可以调用任何非主函数的其它函数。C任何非主函数可以调用其它任何非主函数。D程序可以从任何非主函数开始执行。3.下列正确的标识符是( C ) 。A-a1 Bai Ca2_i Dint t4.C语言中的简单数据类型包括( D ) 。A整型、实型、逻辑型 B整型、实型、逻辑型、字符型C整型、字符型、逻辑型 D整型
2、、实型、字符型5.下列可以正确表示字符型常量的是( A ) 。A t B ”a” C ”n” D2976.在 C语言中,字符型数据所占的内存空间是( C ) 。 A2 个字节 B4 字节 C1 字节 D由用户自定义7.若 int类型数据占 2个字节,则 unsigned int类型数据的取值范围是( B ) 。A0255 B065535 C-3276832767 D-2562558.若有以下类型说明语句:char a;int b; float c; double d; 则表达式 a*b+d-c的结果类型为( D ) 。 Afloat Bchar Cint Ddouble9.下列正确的预编译命令
3、是( D ) 。Adefine PI 3.14159B#define P(a,b)=strcpy(a,b)C#define stdio.hD#define PI 3.1415910.为表示逻辑表达式 7979 )”,则循环语句“while(a10 执行下列程序后,变量 i的正确结果是( A ) 。switch ( i ) case 9: i+=1;case 10: i+=1;case 11: i+=1;default : i+=1; A13 B12 C11 D108.下列循环语句中有语法错误的是( D ) 。 Awhile(x=y) 5; Bwhile(0);Cfor(i=0;iC.#defi
4、ne PI 3.14159; D.for(;) if(1) break;18.给出以下定义:char x =“abcdefg“;char y =a,b,c,d,e,f,g;则正确的叙述为( C ) 。A.数组 x和数组 y等价 B.数组 x和数组 y的长度相同C.数组 x的长度大于数组 y的长度 D.数组 x的长度小于数组 y的长度19.判断两字符串 s1,s2是否相等,应使用( D ) 。A.if(s1=s2) B.if(s1=s2) C.if(strcpy(s1,s2) D.if(strcmp(s1,s2)=0)520.以下 printf语句的输出结果为( B ) 。printf(“%dn
5、”,strlen(“school”);A.7 B.6 C.存在语法错误 D.不定值一、单项选择题(每题 1 分,共 20 分)1.C语言程序是由( C )构成的。A)一些可执行语言 B)main 函数 C)函数 D)包含文件中的第一个函数2.C语言程序从( C )开始执行。A) 程序中第一条可执行语句 B) 程序中第一个函数C) 程序中的 main函数 D) 包含文件中的第一个函数3.不是 C语言提供的合法关键字是( B ) 。A) switch B) cher C) case D) default4.请选出可用作 C语言用户标识符的一组标识符( B ) 。A) void B) a3_b3 C
6、) For D) 2adefine _123 -abc DOWORD sum Case sizeof5.下列四组字符串中都可以用作 C语言程序中的标识符的是( A ) 。A) print _3d db8 aBc B) Iam one_half start$it 3paiC) str_1 Cpp pow while D) Pxq My-book line# His.age 6.已定义 c为字符型变量,则下列语句中正确的是 ( C ) 。 A)c=97 B)c=“97“ C)c=a D)c=“a“ 7.已知 ch是字符型变量,不正确的赋值语句是( A ) 。 A) ch=a+b ; B) ch=
7、0 ; C) ch= 7 ; D) ch=;8.在 C语言中,认为( D )为逻辑“真“ 。A) true B)大于0的数 C)非0整数 D)非0的数9.表示关系 x=10 or a=0|a=10 printf(“%d“,strlen(str)的输出结果是 5 。14、浮点型 float变量占 4个字节内存,double 类型占 8 字节内存。15、已知:int b=5,*p=并且 b的地址为 4000,则“printf(“%d,%d“,p,*p);”的输出结果是 4000,5 。16、表达式 18 int b; a = b =24.5/5; printf(“%f”, a);printf(“%
8、d”,b); 输出结果是 4.000000 和 4 。15、若 x和 n均是 int型变量,且 x和 n的初值均为 5,则计算表达式 x+=n+后 x的值为 10 ,n 的值为 6 。1、若 a=6,b=4,c=2,则表达式!(a-b)+c-1,则计算表达式(x+=2,y=x+3/2,y+5) 后, 表达式的值是 8 。4、对数组元素的引用方法有下标法和 指针法 两种。5、要使指针变量与变量之间建立联系,可以用运算符 * 来定义一个指针变量6、设 int a10,*p=a;则对 a3的引用可以是 p3或 *(p+3) 。7、当 a=3,b=2,c=1时,表达式 f=abc的值是 0 。8、在
9、C语言程序中,用关键字 float 定义单精度实型变量。9、若 m是一个三位数,则十位数字为 m/10-m/100*10 。10、int a=24; printf(“%x “, a );输出结果是 18 。1011、设 x,y,z 均为 int型变量,请写出描述“x 或 y中有一个小于 z”的表达式x1)+2,则 x的值为 3 。17、已知 i=5,写出语句 i*=i+1; 执行后整型变量 i 的值是 30 。18、C 语言中,二维数组在内存中的存放方式为按 行 优先存放。19、数组 char a2中的所有元素是 a1和 a0 。20、求字符串长度的库函数是 strlen (只写函数名即可) 。四、读程序题(每题 10 分,共 30 分)1、下面程序段的运行结果是什么。int i=1,a=0,s=1;doa=a+s*i; s=-s; i+; while (ivoid main( )printf(“This is a C program!n“);(二)#include void main( )int a,b,sum;a=2; b=3; sum=a+b;printf(“sum is %dn“, sum);答案:#include (3 分)