得分 评卷人 一、选择题:(本大题共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 B.a>=0|a<=l0 C.a>=10&&a<=0 D.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 B.a>=0 | a<=10 C.a>=10 && a<=0 D.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 <stdlib.h> B.#include <stdio.h> C.#include <math.h> D.#include <string.h> 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 <stdlib.h> B.#include <stdio.h> C.#include <math.h> D.#include <string.h> 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为整型变量,不能正确表达数学关系:10<a<15的C语言表达式是 A.10<a<15 B.a=11‖a=12‖a=13‖a=14 C.a>l0&&a<15 D.(a<=10)&&I(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<="9" B.ch>=0'&&ch<=9 C.'0'≤ch≤9 D.ch>='0'川lch<=g 27.表达式(x%3)等价于表达式 A.x%3=2 B.x%3I=0 C.x%3==1 D.x%3=0 28.C语言中要求参加运算的数必须是整数的运算符是 A./ B.- C.% D.= 29.下面正确的字符串常量是 A.'a' B.376 C."n" D.376 30.能正确表示a和b同时为正或同时为负的逻辑表达式是 A.(a>=0lb>=0)&&(a<0b<0) B.(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 为整型变量,不能正确表达数学关系:10<a<15 的 C 语言表达式是 。 A.10<a<15 B.a==11|| a==12 || a==13 || a==14 C.a>10 && a<15 D.!(a<=10) && !(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<="9" B.ch>='0'&&ch<='9' C.'0'≤ch≤'9' D.ch>='0'||ch<='9' 27.表达式(x%3)等价于表达式 。 A.x%3 == 2 B.x%3 != 0 C.x%3 == 1 D.x%3 == 0 28.C 语言中要求参加运算的数必须是整数的运算符是 。 A./ B.- C.% D.= 29.下面正确的字符串常量是 。 A.'a' B.'376' C."\n" D.376 30.能正确表示 a 和 b 同时为正或同时为负的逻辑表达式是 。 A.(a>=0||b>=0)&&(a<0|| b<0) B.(a>=0&&b>=0)&&(a<0&&b<0)
C.(a+b>0)&&(a+b<=0) D.a*b>0 得分 评卷人 二、填空题:填空题:(本大题共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+b<=0) D.a*b>0 二、填空题:填空题:(本大题共 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 <stdio.h> 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 <stdio.h> 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: