1.单项选择题(在本题的每一小题的备选答案中只有一个答案是正确的,请把你认为正确答案的题号,填入题于的括号内。多选不给。每题1分,共20分) 1.以下符合语法规则的用户标识符是( )。 (1)1st (2) break (3)B757 (4) Two Words
2.若要求在if语句括在圆括号对中的表达示表示a不等于0的关系,则能正确表示这一关系的表达式是( )。
(1)a<>0 (2)!a (3)a=0 (4) 3.若定义
int a=1,b=2,c=3,d=4,e; 则执行下述语句 e=a>b?a:c 4.下面的语句组所表示的数学函数关系是( )。 y=-1; if (x!=0) if (x>0) y=1; else y=0; 5. 以下叙述正确的是( )。 (1)do-while语句构成的循环不能用其他语句构成的循环来代替 (2)do-while语句构成的循环只能用break语句退出 (3)do-while语句构成的循环,在while后的表达式为非零时结束循环 (4)do-while语句构成的循环,在while后的表达式为零时结束循环 6.有以下程序 #include int x,i; for (i=1;i<=50;i++) { x=i; if (++x%2==0) if (x%3==0) if (x%7==0) printf(\ } printf(\ } 执行此程序的输出结果是( )。 (1)28 (2)27 (3)42 (4)41 8.若有以下程序片段 char str[]=\ printf(\ 则执行printf语句的输出结果是( )。 (1)6 (2)12 (3)3 (4)4 9.对于如下之程序段,应有( )。 char a[10],b[]=\ a=b; printf(\ (1)运行后将输出China (2)运行后将输出ch (3)运行后将输出c (4)程序出错,不能运行 10.执行下述程序的输出结果是( )。 #include int i,x[3][3]={9,8,7,6,5,4,3,2,1},*p=&x[1][1]; for (i=0;i<4;i+=2) printf(\ printf(\ } (1) 5 2 (2) 5 1 (3) 5 3 (4) 9 7 11.以下程序当运行时,如果从键盘上输入 book book 则输出结果是( )。 #include char a1[80],a2[80],*s1=a1,*s2=a2; gets(s1); gets(s2); if (!strcmp(s1,s2)) printf(\ else print(\ printf(\ } (1)*8 (2)#9 (3)#8 (4)*9 12.下面的程序段的运行结果是( )。 char str[]=\ printf(\ (1) 65 (2)0 (3)字符'A'的地址 (4)A 13.决定c语言中函数返回值类型的是( )。 (1)return语句中的表达式类型 (2)调用该函数的主调函数类型 (3)调用函数时临时指定的类型 (4)定义函数时在函数首部中所指定的类型(若缺省,则隐含为int型) 14.执行下述程序的输出结果是( )。 #include int func(int x,int y,int *cp,int *dp) { *cp=x+y; *dp=x-y; return 0; } main() { int a,b,c,d; a=30; b=50; func(a,b,&c,&d); printf(\ } (1)80,-20 (2)80,20 (3)50,30 (4)30,50 15.欲定义一函数,其功能是交换两个整数值,且通过函数调用能返回交换的结果。能正确执行此功能的函数定义是( )。 (1)func(int x,int y) { int t; t=x; x=y; y=t;; } (2)func(int *x,int *y) { *x=*y; *y=*x; } (3)func(int *x,int *y) { int t; t=*x; *x=*y; *y=t; } (4)func(int *x,int *y) { int *t; *t=*x; *x=*y; *y=*t; } 16.执行下述程序的输出结果是( )。 #include static int d=5; d+=p; printf (\ return (d); } main () { int a=3; printf(\ } (1)6 9 9 (2)6 6 9 (3)6 15 15 (4)6 6 15 17.设有如下定义 struct sk { int a; float b; } data,*p; 若有 p=&data; 则对data中的成员a的正确引用是( )。 (1)(*p).data.a (2)(*p).a (3)p->data.a (4)p.data.a 19.函数调用语句 fseek(fp,-20L,2); 的含义是( )。 (1)将文件位置指针移动到距离文件头20个字节处 (2)将文件位置指针从当前位置向后移动20个字节 (3)将文件位置指针从文件末尾处向后退20个字节 (4)将文件位置指针移动到离当前位置20个字节处 20.若以下程序所生成的可执行文件名为filel.exe,则当在操作系统状态下输入下述命令行执行该程序时 FILE1 CHINA BEIJING SHANGHAI 程序的输出结果是( )。 #include main(int argc,char *argv[]) { while (argc-->1) { ++argv; printf(\ } printf(\ } (1)CHINA BEIJING SHANGHAI (2)FILE1 CHINA BEIJING SHANGHAI (3)C B S (4)F C B 二、填充题(每空2分,共30分) 1.设x是个实型变量。满足数学式|x|>4的c语言表达式是________________。(写出任意一种) 2.下面程序的功能是:输出100以内能被3整除且个位数为6的所有整数。请填空。 #include int i,j; for (i=0;i<10;i++) { j=i*10+6; if (____________) continue; printf (\ } }