得分 评卷人 一、选择题:(本大题共30小题,每小题2分,共60分) 1.按照标识符的要求, 不能组成标识符。 A.连接符 B.下划线 C.大小写字母 D.数字字符 2.若变量已正确定义并赋值,符合C语言语法的表达式是 A.a=2++ B.a=3,5 C.a=a+l=3 D.12.3%4 3.能正确表示逻辑关系"a心l0或a≤0"的C语言表达式是 A.a>=10 or a=0|a=10&&a=10‖a<=0 4.以下标识符中,不合法的是 A.4d B._8d C.Int D.key 5.一个C程序的执行是从 A.本程序的main函数开始,到main函数结束 B.本程序的第一个函数开始,到本程序文件的最后一个函数结束 C.本程序的main函数开始,到本程序文件的最后一个函数结束 D.本程序的第一个函数开始,到main函数结束 6.要调用数学函数时,在#include命令行中应包含 A."stdio.h"B."string.h" C."math.h"D."ctype.h" 7.以下叙述中正确的是 A.在C语言中,预处理命令行都以#”开头 B.预处理命令行必须位于c源程序的起始位置 C.#include必须放在C程序的开头 D.C语言的预处理不能实现宏定义和条件编译的功能 8.在一个C程序中, A.main函数必须出现在所有函数之前 B.main函数可以出现在任何地方 C.main函数必须出现在所有函数之后 D.main函数必须出现在固定位置 9.若a是基本整型变量,c是单精度实型变量,则输入语句 是错误的。 A.scanf"%d,%f",&a,&c); B.scanf("d=%d,c=%f",&a,&c); C.scanf("%d%f",&a,&c); D.scanf"%d%f",a,c); 10.下列语句中, 将输出%d
一、选择题:(本大题共 30 小题,每小题 2 分,共 60 分) 1.按照标识符的要求, 不能组成标识符。 A.连接符 B.下划线 C.大小写字母 D.数字字符 2.若变量已正确定义并赋值,符合 C 语言语法的表达式是 。 A.a=2++ B.a=3, 5 C.a=a+1=3 D.12.3%4 3.能正确表示逻辑关系"a≥10 或 a≤0"的 C 语言表达式是 。 A.a>=10 or a=0 | a=10 && a=10 || a<=0 4.以下标识符中,不合法的是 。 A.4d B._8_d C.Int D.key 5.一个 C 程序的执行是从 。 A.本程序的 main 函数开始,到 main 函数结束 B.本程序的第一个函数开始,到本程序文件的最后一个函数结束 C.本程序的 main 函数开始,到本程序文件的最后一个函数结束 D.本程序的第一个函数开始,到 main 函数结束 6.要调用数学函数时,在#include 命令行中应包含 。 A."stdio.h" B."string.h" C."math.h" D."ctype.h" 7.以下叙述中正确的是 。 A.在 C 语言中,预处理命令行都以“#”开头 B.预处理命令行必须位于 c 源程序的起始位置 C.#include 必须放在 C 程序的开头 D.C 语言的预处理不能实现宏定义和条件编译的功能 8.在一个 C 程序中, 。 A.main 函数必须出现在所有函数之前 B.main 函数可以出现在任何地方 C.main 函数必须出现在所有函数之后 D.main 函数必须出现在固定位置 9.若 a 是基本整型变量,c 是单精度实型变量,则输入语句 是错误的。 A.scanf("%d,%f", &a, &c); B.scanf("d=%d, c=%f", &a, &c); C.scanf("%d%f", &a, &c); D.scanf("%d%f", a, c); 10.下列语句中, 将输出%d。 得分 评卷人
A.printf(%d"); B.printf(%%d"), C.printf(%d")方 D.printf(%%%d)方 11.执行printf"%x",100);后的输出结果是 A.100 B.0x100 C.0X64 D.64 l2.已知字符'c的ASCⅡ码为99,语句printf("%d,%c",'c,'c'+1);的输出为_ A.99,c B.99,100 C.99,d D.语句不合法 13.下面合法的C语言字符常量是 A.'\t' B."A" C.65 D.A 14.下面的程序段输出是 int k=11: printf"k=%d.k=%0,k=%xIn",k.kk); A.k=11,k=12,k=11 B.k=11,k=13,k=13 C.k=11,k=013:k=0xb D.k=11,k=13,k=b 15.下面的程序段输出是 short a; in1b=65536: a=b; printf("%dn",a); A.65536 B.0 C.-1 D.1 16.printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字 符串长度大于5,则输出按方式 A.从左起输出该字符串,右补空格 B.按原字符长从左向右全部输出 C.0 D.输出错误信息 17.若变量已正确说明为int类型,要给a,b,c输入数据,以下正确的输入语句 是 A.read a,b,c; B.getchar(a,b,c); C.scanf("%d%d%d",&a,&b,&c); D.scanf"%d%d%d"a,b,c); 18.程序员要想调用输入输出函数,需要在程序的开头写上语句 A.#include B.#include C.#include D.#include 19.使用scanf("x=%fy=%f",&x,&y)”,要使X,y均为1.25,正确的输入是 A.1.25,1.25 B.1.251.25 C.x=1.25,y=1.25 D.x=1.25y=1.25 20.下面程序段的输出是
A.printf(“%d”); B.printf(“%%d”); C.printf(“\%d”); D.printf(“%%%d”); 11.执行 printf("%x",100);后的输出结果是 。 A.100 B.0x100 C.0X64 D.64 12.已知字符'c' 的 ASCII 码为 99,语句 printf ("%d,%c",'c','c'+1); 的输出为 。 A.99, c B.99,100 C.99,d D.语句不合法 13.下面合法的 C 语言字符常量是 。 A.'\t' B."A" C.65 D.A 14.下面的程序段输出是 。 int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k); A.k=11,k=12,k=11 B.k=11,k=13,k=13 C.k=11,k=013;k=0xb D.k=11,k=13,k=b 15.下面的程序段输出是 。 short a; int b=65536; a=b; printf("%d\n",a); A.65536 B.0 C.-1 D.1 16.printf 函数中用到格式符%5s,其中数字 5 表示输出的字符串占用 5 列。如果字 符串长度大于 5,则输出按方式 。 A.从左起输出该字符串,右补空格 B.按原字符长从左向右全部输出 C.0 D.输出错误信息 17.若变量已正确说明为 int 类型,要给 a,b,c 输入数据,以下正确的输入语句 是 。 A.read a,b,c; B.getchar(a,b,c); C.scanf("%d%d%d",&a,&b,&c); D.scanf("%d%d%d",a,b,c); 18.程序员要想调用输入输出函数,需要在程序的开头写上语句 。 A.#include B.#include C.#include D.#include 19.使用“scanf("x=%f,y=%f",&x,&y)”,要使 x,y 均为 1.25,正确的输入是 。 A.1.25,1.25 B.1.25 1.25 C.x=1.25,y=1.25 D.x=1.25 y=1.25 20.下面程序段的输出是
int x=023; printf"%dWn”,-x A.17 B.18 C.23 D.24 21.printf函数中用到格式符%-6s,其中数字6表示输出的字符串占用6列。如果 字符串长度小于6,则输出按方式 A.从左起输出该字符串,右补空格 B.从右起输出该字符串,左补空格 C.0 D.输出错误信息 22.设a为整型变量,不能正确表达数学关系:10l0&&a=15) 23.下面四个选项中,均是合法浮点数的选项是 A.+1e+1、5e9.4、03e2 B.-.60、12e-4、-8e5 C.123e、1.2e-.4、+2e-1 D.-e3、.8e-4、5.e-0 24.如果已经定义intx=3,p;则下列语句正确的是 A.p=x; B.*p=x; C.p=&x; D.*p=*x: 25.下列不合法的用户标识符是 A.j2 KEY B.Double C.4d a D.8 26.判断char型变量ch为数字的正确表达式是 A.ch>="0"&&ch=0'&&ch='0'川lch=0lb>=0)&&(a=0&&b>=0)&&(a<0&&b<0)
int x=023; printf("%d\n",--x); A.17 B.18 C.23 D.24 21.printf 函数中用到格式符%-6s,其中数字 6 表示输出的字符串占用 6 列。如果 字符串长度小于 6,则输出按方式 。 A.从左起输出该字符串,右补空格 B.从右起输出该字符串,左补空格 C.0 D.输出错误信息 22.设 a 为整型变量,不能正确表达数学关系:1010 && a=15) 23.下面四个选项中,均是合法浮点数的选项是 。 A.+1e+1 、 5e-9.4 、 03e2 B.-.60 、 12e-4 、 -8e5 C.123e 、 1.2e-.4 、 +2e-1 D.-e3 、 . 8e-4 、 5.e-0 24.如果已经定义 int x=3, *p;则下列语句正确的是 。 A.p=x; B. *p=x; C. p=&x; D. *p = *x; 25.下列不合法的用户标识符是 。 A.j2_KEY B.Double C.4d_a D._8_ 26.判断 char 型变量 ch 为数字的正确表达式是 。 A.ch>="0"&&ch='0'&&ch='0'||ch=0||b>=0)&&(a=0&&b>=0)&&(a<0&&b<0)
C.(a+b>0)&&(a+b0 得分 评卷人 二、填空题:填空题:(本大题共9小题,15空,共20 分。其中第1-10空每空1分,第11-15空每空2分。) 1.当执行以下程序时,输入1234567890,则其中wi1le循环体将执行(1) 次。 int main({ char ch; while((ch=getchar)==0) prinyf“#"方 return 0; 2.以下程序的输出结果是(2)一。 int main(void) char a0=f11,2,3,4,0: printf("%d %dn",sizeof(a),strlen(a)) return 0; 3.设有定义语句:inta[3={0;,{1,{2},则数组元素a[1]2]的值为(3) 4.以下程序运行后的输出结果是(4) int main( ita=1,b=2,c=3; if(c=a) printf("%dn",c); else printf"%dn",b); 5.C程序的基本单位是(5) 6.若有inta3][5]={2,2},{2,6},{2,6,2},则数组a共有(6)个 元素。 7.执行以下程序后,输出'#号的个数是(7)二。 int main( inti对 for(i=1;i<=3;i++) or0=2;jK=ijt+》 putchar(#);
C.(a+b>0)&&(a+b0 二、填空题:填空题:(本大题共 9 小题,15 空,共 20 分。其中第 1-10 空每空 1 分,第 11-15 空每空 2 分。) 1. 当执行以下程序时,输入 1234567890,则其中 while 循环体将执行 (1) 次。 int main() { char ch; while((ch=getchar())==’0’) printf(“#”); return 0; } 2. 以下程序的输出结果是 (2) 。 int main(void ){ char a[]={‘\1’,’\2’,’\3’,’\4’,’\0’}; printf(“%d %d\n”,sizeof(a) ,strlen(a) ); return 0; } 3. 设有定义语句:int a[][3]={{0},{1},{2}};,则数组元素a[1][2]的值为 (3) 。 4. 以下程序运行后的输出结果是 (4) 。 int main(){ int a=1,b=2,c=3; if(c=a) printf("%d\n",c); else printf("%d\n",b); } 5. C 程序的基本单位是 (5) 。 6. 若有 int a[3][5]={2,2},{2,6},{2,6,2}},则数组 a 共有 (6) 个 元素。 7. 执行以下程序后,输出'#'号的个数是 (7) 。 int main(){ int i, j; for(i=1; i<=3; i++) for(j=2; j<=i; j++) putchar('#'); 得分 评卷人
8.写出以下程序段的运行结果。请注意,直接填数字,前后不要加空格等任何其 他字符。 int a; scanf"%d",&a); a>50) printf("%d",a). a>40 printf"%d",a); a>30) printf"%d",a); (1)输入32,输出 (8) (2)输入46,输出 9) (3)输入58,输出 (10) 9.输入年,输出该年每个月的天数。其中1、3、5、7、8、10、12月有31天, 4、6、9、11月有30天,2月平年有28天,闰年有29天。判断闰年的条件是: 能被4整除但不能被100整除,或者能被400整除。 #include int main(){ int day,month,year; scanf("%d",&year); for(month =1;month <12;month++) switch( (11) case 2: 0 (12) day 29; else (13) (14) case 1: case 3: case 5: case 7: case 8: case 10. case 12: day =31; break; case 4:
} } 8. 写出以下程序段的运行结果。请注意,直接填数字,前后不要加空格等任何其 他字符。 int a; scanf("%d", &a); if(a > 50) printf("%d", a); if(a > 40) printf("%d", a); if(a > 30) printf("%d", a); (1)输入 32,输出 (8) 。 (2)输入 46,输出 (9) 。 (3)输入 58,输出 (10) 。 9. 输入年,输出该年每个月的天数。其中 1、3、5、7、8、10、12 月有 31 天, 4、6、9、11 月有 30 天,2 月平年有 28 天,闰年有 29 天。判断闰年的条件是: 能被 4 整除但不能被 100 整除,或者能被 400 整除。 #include int main(){ int day, month, year; scanf("%d", &year); for(month = 1; month <= 12; month++){ switch( (11) ) { case 2: if(( (12) ) { day = 29; } else { (13) } (14) case 1: case 3: case 5: case 7: case 8: case 10: case 12: day = 31; break; case 4:
case 6. case 9: case 11: day 30: break: 15) /输出天数 return 0; 得分 评卷人 三、读程序写结果:(本大题共5小题,每小题2分, 共10分。) 1.写出下列程序段的输出结果: int num=0; while(num <=6) num++; jnum%3==0)/ continue; printf("%d#"num): 2.写出下列程序段的输出结果: int i,sum 0; for(i=1;i<8,i++){ f(%21=0)1 continue; } sum sum i; printf("%d",sum); 3.写出下列程序段的输出结果: int k=16; switch (k%3 case 0:printf("zero"); case 1:printf("one"); case 2:printf("two");
case 6: case 9: case 11: day = 30; break; } (15) //输出天数 } return 0; } 三、读程序写结果:(本大题共 5 小题,每小题 2 分, 共 10 分。) 1.写出下列程序段的输出结果: 。 int num = 0; while(num <= 6){ num++; if(num%3 == 0){ continue; } printf("%d#",num); } 2. 写出下列程序段的输出结果: 。 int i, sum = 0; for ( i = 1; i < 8; i++ ) { if ( i%2 != 0 ) { continue; } sum = sum + i; } printf("%d", sum); 3. 写出下列程序段的输出结果: 。 int k = 16; switch ( k%3 ) { case 0: printf("zero"); case 1: printf("one"); case 2: printf("two"); } 得分 评卷人
4.若有定义语句inta=25,b=14,c=19,以下语句的执行结果是 fa++ (2)float avg(float a,float b) 3)1 (4) int result; 5) result (a+b)/2.0; 6) return 0; 7)} 8) int main() 9){ 10) int x,y; (11) float result; 12) printf"请输入两个整数:"): 13) scanf"%d",&x,&y), 14) result avg(int x,int y); (15) printf"平均值:%d": 16}
4. 若有定义语句 int a=25,b=14,c=19; 以下语句的执行结果是 。 if(a++ (2) float avg(float a, float b) (3) { (4) int result; (5) result = (a+b)/2.0; (6) return 0; (7) } (8) int main() (9) { (10) int x,y; (11) float result; (12) printf("请输入两个整数:"); (13) scanf("%d",&x,&y); (14) result = avg(int x, int y); (15) printf("平均值: %d"); (16) } 得分 评卷人