华中科技大学C语言期末考试题库试题及答案汇总由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c期末考试试题及答案”。
华中科技大学C语言期末考试题库试题及答案汇总
1.设int a=12,则执行完语句a+=a-=a*a后,a的值是__D____。A、552 B、264 C、144 D、-264 知识点:算术表达式
2.以下变量x、y、z均为double类型且已正确赋值,不能正确表示数字式子x/(y*z)的C语言表达式是___A___。
A、x/y*z B、x*(1/(y*z))C、x/y*1/z D、x/y/z 知识点:算术表达式
3.若有定义:int a=8,b=5,c;,执行语句c=a/b+0.4;后,c的值是__B____。A、1.4 B、1 C、2.0 D、2 知识点:算术表达式 4.有如下程序 main(){ int a;char c=10;float f=100.0;double x;a=f/=c*=(x=6.5);printf(“%d %d %3.1f%3.1fn”,a,c,f,x);} 程序运行后输出结果是___B___。
A、1 65 1 6.5B、1 65 1.5 6.5C、1 65 1.0 6.5D、2 65 1.5 6.5 知识点:赋值表达式
5.若变量a、i已正确定义,且i已正确赋值,合法的语句是___B___。A、a==1 B、++i;C、a=a++=5;D、a=int(i);知识点:赋值表达式
6.若变量已正确定义并赋值,下面符合C语言语法的表达式是__B____。A、a:=b+1 B、a=b=c+2C、int 18.5%3 D、a=a+7=c+b 知识点:赋值表达式
7.设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是__C____。
A、x=x*100+0.5/100.0B、x=(x*100+0.5)/100.0 C、x=(int)(x*100+0.5)/100.0???D、x=(x/100+0.5)*100.0 知识点:赋值表达式
8.在一个C程序中___B___。
A、main函数必须出现在所有函数之前B、main函数可以在任何地方出现 C、main函数必须出现在所有函数之后D、main函数必须出现在固定位置 知识点:简单C语言程序的构成和格式 9.以下说法中正确的是__D____。
A、#define和printf都是C语句B、#define是C语句,而printf不是 C、printf是C语句,但#define不是D、#define和printf都不是C语句 知识点:简单C语言程序的构成和格式 10.若k是int型变量,且有下面的程序片段 k=-3 if(k
A、#### B、&&&&C、####&&&&D、有语法错误,无输出结果 知识点:简单C语言程序的构成和格式
11.以下4个选项中,不能看作一条语句的是___D___。
A、{;} B、a=0,b=0,c=0;C、if(a>0);D、if(b==0)m=1;n=2;??? 知识点:简单C语言程序的构成和格式 12. 有以下程序 main(){ int a=0,b=0;a=10;/* 给a赋值 */ b=20;/* 给b赋值 */ printf(“a+b=%dn”,a+b);} 程序运行后的输出结果是___B___。A、a+b=10 B、a+b=30 C、30 D、出错 知识点:简单C语言程序的构成和格式
13.以下选项中,不能作为合法常量的是__B____。A、1.234e04 B、1.234e0.4C、1.234e+4 D、1.234e0 知识点:实型数据
14.以下符合C语言语法的实型常量是___C___。A、1.2E0.5 B、3.14159E C、.5E-3 D、E15 知识点:实型数据
15.表达式3.6-5/2+1.2+5%2的值是__D____。A、4.3 B、4.8 C、3.3 D、3.8 知识点:算术表达式
16.下列定义变量的语句中错误的是__D____。A、int _int B、double int_C、char For D、float US$ 知识点:常量、变量和标识符
17.以下不合法的用户标识符是__C____。A、j2_KEY B、DoubleC、4d D、_8_ 知识点:常量、变量和标识符
18.以下4组用户定义标识符中,全部合法的一组是__A____。A、_main enclude sinB、If-max turbo C、txt REAL 3COMD、int k_2 _001 ??? 知识点:常量、变量和标识符
19.以下定义语句中正确的是__C____。
A、char a='A' b='B';B、float a=b=10.0;(正解a=10.0 b=10.0)C、int a=10,*b=&a;D、float *a,b=&a;??? 知识点:常量、变量和标识符
20.以下不能定义为用户标识符的是__D____。A、scanf B、VoidC、_3com_ D、int 知识点:常量、变量和标识符
21.以下有4组用户标识符,其中合法的一组是___C___。
A、For-sub CaseB、4d DO SizeC、f2_G3 IF abcD、WORD Void define 知识点:常量、变量和标识符
22.C语言中最简单的数据类型包括_B_____。A、整型、实型、逻辑型B、整型、实型、字符型
C、整型、字符型、逻辑型D、整型、实型、逻辑型、字符型 知识点:常量、变量和标识符
23.下列选项中,合法的C语言关键字是__D____。A、VAR B、cher C、integer D、default 知识点:常量、变量和标识符
24.以下不能定义为用户标识符的是__D____。A、MainB、_0 C、_int D、sizeof 知识点:常量、变量和标识符 25.下列叙述中正确的是_D_____。
A、C语言中既有逻辑类型也有集合类型B、C语言中没有逻辑类型但有集合类型 C、C语言中有逻辑类型但没有集合类型D、C语言中既没有逻辑类型也没有集合类型 知识点:常量、变量和标识符
26.当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是____C__。A、c=b=a;B、(a=c)‖(b=c);C、(a=c)&&(b=c);D、a=c=b;知识点:赋值表达式
27.以下选项中非法的表达式是___D___。
A、0
28.以下程序的输出结果是___B___。#include 7main(){ int a,b,d=241;a=d/100%9;b=(-1)&&(-1);printf(“%d,%dn”,a,b);??? } A、6,1 B、2,1 C、6,0 D、2,0 知识点:赋值表达式
29.以下循环体的执行次数是___C___。main(){ int i,j;for(i=0,j=1;i
31.设int a=12,则执行完语句a+=a-=a*a后,a的值是__D____。A、552 B、264 C、144 D、-264 知识点:算术表达式
32.以下变量x、y、z均为double类型且已正确赋值,不能正确表示数字式子x/(y*z)的C语言表达式是___A___。
A、x/y*z B、x*(1/(y*z))C、x/y*1/z D、x/y/z 知识点:算术表达式
33.若有定义:int a=8,b=5,c;,执行语句c=a/b+0.4;后,c的值是__B____。A、1.4 B、1 C、2.0 D、2 知识点:算术表达式
34.设有定义:float a=2,b=4,h=3;,以下C语言表达式与代数式 1/2((a+b)h)计算结果不相符的是___B___。
A、(a+b)*h/2 B、(1/2)*(a+b)*hC、(a+b)*h*1/2 D、h/2*(a+b)知识点:算术表达式
35.假定x和y为double型,表达式x=2,y=x+3/2的值是___D___。A、3.500000 B、3 C、2.000000 D、3.000000 知识点:算术表达式
36.若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是___C___。A、1 B、2 C、2.000000 D、2.500000 知识点:算术表达式 37.若有以下程序段 int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是___A___。A、0 B、0.5 C、1 D、2 知识点:算术表达式
38.设有int x=11;则表达式(x++ * 1/3)的值是___A___。?? A、3 B、4 C、11 D、12 知识点:算术表达式
39.下列程序的输出结果是___C___。main(){ double d=3.2;int x,y;x=1.2;y=(x+3.8)/5.0;printf(“%d n”,d*y);} A、3 B、3.2 C、0 D、3.07 知识点:算术表达式 40.请读程序片段: int i=65536;printf(“%dn”,i);上面程序片段的输出结果是___B___。
A、65536 B、0C、有语法错误,无输出结果D、-1 知识点:整型数据 41.若有以下定义和语句: int u=010,v=0x10,w=10;printf(“%d,%d,%dn”,u,v,w);则输出结果是: __A____。
A、8,16,10 B、10,10,10C、8,8,10 D、8,10,10 知识点:整型数据
42.在C语言中,不正确的int类型的常数是___A___。A、32768 B、0 C、037 D、0xAF 知识点:整型数据
43.以下程序的输出结果是__D____。main(){ int k=17;printf(“%d,%o,%x n”,k,k,k);} A、17,021,0x11 B、17,17,17C、17,0x11,021 D、17,21,11 知识点:整型数据
44.下面程序的输出是__C____。main(){ unsigned a=32768;printf(“a=%dn”,a);} A、a=32768 B、a=32767C、a=-32768D、a=-1 知识点:整型数据
45.在C语言中,合法的长整型常数是___A___。A、0L B、4962710C、324562& D、216D 知识点:整型数据 46.C语言中运算对象必须是整型的运算符是__A____。A、%= B、/ C、= D、
47.以下选项中不属于C语言的类型名称是___D___。
A、signed short intB、unsigned long intC、unsigned intD、long short 知识点:整型数据 48.有以下程序 main(){ int m=0256,n=256;printf(“%o %on”,m,n);} 程序运行后的输出结果是___C___。
A、0256 0400 B、0256 256C、256 400 D、400 400 知识点:整型数据
49.若执下面程序时从键盘上输入5,main(){ int x;scanf(“%d”,&x);if(x++>5)printf(“%dn”,x);else printf(“%dn”,x--);} 则输出是__B____。A、7 B、6 C、5 D、4 知识点:自加、自减运算符和逗号运算符 50.有以下程序 main(){ char a1='M', a2='m';printf(“%cn”,(a1,a2));} 以下叙述中正确的是___B___。
A、程序输出大写字母MB、程序输出小写字母m C、格式说明符不足,编译出错D、程序运行时产生出错信息 知识点:自加、自减运算符和逗号运算符 51.以下程序的输出结果是 __B____。main(){ int a;printf(“%dn”,(a=3*5,a*4,a+5));} A、65 B、20 C、15 D、10 知识点:自加、自减运算符和逗号运算符 53.设有如下程序段 int x=2002,y=2003;printf(“%dn”,(x,y));则以下叙述中正确的是__D____。
A、输出语句中格式说明符的个数少于输出项的个数,不能正确输出 B、运行时产生错误信息 C、输出值为2002 D、输出值为2003 知识点:自加、自减运算符和逗号运算符 54.有以下程序 main(){ int x,y,z;x=y=1;z=x++,y++,++y;printf(“%d,%d,%dn”,x,y,z);} 程序运行后的输出结果是___C___。A、2,3,3 B、2,3,2 C、2,3,1 D、2,2,1 知识点:自加、自减运算符和逗号运算符 55.设有以下定义 int a=0;double b=1.25;char c='A';#define d 2 则下面语句中错误的是__D____。A、a++;B、b++;C、c++;D、d++;知识点:自加、自减运算符和逗号运算符 56.以下程序的输出结果是___D___。main(){ int x=10,y=10;printf(“%d %dn”,x--,--y);} A、10 10 B、99 C、9 10 D、10 9 知识点:自加、自减运算符和逗号运算符
57.若x和y都是int型变量,x=100、y=200,且有下面的程序片段 printf(“%d”,(x,y));上面程序片段的输出结果是___A___。
A、200 B、100 C、100 200D、输则格式符不够, 输出不确定的值 知识点:自加、自减运算符和逗号运算符 58.设有如下定义: int x=10,y=3,z;则语句
printf(“%dn”,z=(x%y,x/y));的输出结果是___D___。A、1 B、0 C、4 D、3 知识点:自加、自减运算符和逗号运算符
59.两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是___A___。main(){ int x;scanf(“%d”,&x);if(x++ > 5)printf(“%d”,x);else printf(“%dn”,x--);} A、7和5 B、6和3 C、7和 D、6和4 知识点:自加、自减运算符和逗号运算符 60.若t为double类型,表达式t=1,t+5,t++的值是___D___。A、1 B、6.0 C、2.0 D、1.0 知识点:自加、自减运算符和逗号运算符 61.以下程序的输出结果是__A____。#include main(){ int i=10,j=10;printf(“%d,%dn”,++i,j--);} A、11,10 B、9,10 C、010,9 D、10,9 知识点:自加、自减运算符和逗号运算符 62.有以下程序 main(){ int y=10;while(y--);printf(“y=%dn”,y);} 程序执行后的输出结果是__B___。
A、y=0 B、y=-1 C、y=1D、while构成无限循环 知识点:自加、自减运算符和逗号运算符 63.以下叙述中正确的是__B____。
A、全局变量的作用域一定比局部变量的作用域范围大 B、静态(static)类别变量的生存期贯穿于整个程序的运行期间 C、函数的形参都属于全局变量 D、未在定义语句中赋初值的auto变量和static变量的初值都是随机值 知识点:局部变量及其作用域和生存期 64.下面程序的输出是___C___。fun3(int x){ static int a=3;a+=x;return(a);} main(){ int k=2, m=1, n;n=fun3(k);n=fun3(m);printf(“%dn”,n);} A、3 B、4 C、6 D、9 知识点:局部变量及其作用域和生存期 65.以下叙述中正确的是___A___。
A、局部变量说明为static 存储类,其生存期将得到延长 B、全局变量说明为static 存储类,其作用域将被扩大 C、任何存储类的变量在未赋初值时,其值都是不确定的 D、形参可以使用的存储类说明符与局部变量完全相同 知识点:局部变量及其作用域和生存期 66.有以下程序 int fun(int x[],int n){ static int sum=0,i;for(i=0;iy)f(x,y);else if(y>z)f(y,z);else f(x,z);printf(“%d,%d,%dn”,x,y,z);} 执行后输出结果是___C___。
A、1,2,3 B、3,1,2 C、1,3,2 D、2,3,1 知识点:调用函数和被调用函数之间的数据传递 74.有以下程序 void f(int x,int y){ int t;if(x
A、3,4,5B、5,3,4C、5,4,3D、4,3,5 知识点:调用函数和被调用函数之间的数据传递 75.有以下程序
int fun1(double a){ return a*=a;} int fun2(double x,double y){ double a=0,b=0;a=fun1(x);b=fun1(y);return(int)(a+b);} main(){ double w;w=fun2(1.1,2.0);} 程序执行后变量w中的值是___C___。A、5.21 B、5 C、5.0 D、0.0 知识点:调用函数和被调用函数之间的数据传递
80.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是___B___。A、地址传递B、单向值传递C、由实参传给形参D、再由形参传回实参 知识点:函数的调用
81.当执行下面的程序时,如果输入ABC,则输出结果是___A___。#include “stdio.h” #include “string.h” main(){ char [10]=“12345”;gets();strcat(,“6789”);printf(“%sn”,);} A、ABC6789 B、ABC67C、12345ABC6 D、ABC456789 知识点:函数的调用 82.有如下程序 long fib(int n){ if(n>2)return(fib(n-1)+fib(n-2));else return(2);} main(){ printf(“%ldn”,fib(3));} 该程序的输出结果是___B___。A、2 B、4 C、6 D、8 知识点:函数的调用
83.设函数fun的定义形式为 void fun(char ch,float x){……}
则以下对函数fun的调用语句中,正确的是__D____。
A、fun(“abc”,3.0);B、t=fun('D',16.5);C、fun('65',2.8);D、fun(32,32);知识点:函数的调用 84.有以下程序
char fun(char x,char y){ if(x
程序的执行结果是___D___。A、函数调用出错 B、8 C、9 D、7 知识点:函数的调用
85.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是___D___。A、函数调用可以作为独立的语句存在B、函数调用可以作为一个函数的实参 C、函数调用可以出现在表达式中D、函数调用可以作为一个函数的形参 知识点:函数的调用 86.有如下函数调用语句
func(rec1,rec2+rec3,(rec4,rec5));该函数调用语句中,含有的实参个数是__A____。A、3 B、4 C、5 D、有语法错 知识点:函数的调用
92.以下函数值的类型是___A___。fun(float x){ float y;y=3*x-4;return y;} A、int B、不确定 C、void D、float 知识点:函数的定义和返回值
93.在C语言中,形参的缺省存储类是___A___。A、auto B、register C、static D、extern 知识点:函数的定义和返回值 94.有以下程序 int f(int a){ return a%2;} main(){ int s[8]={1,3,5,2,4,6},i,d=0;for(i=0;f(s[i]);i++)d+=s[i];printf(“%dn”,d);} 程序运行后的输出结果是__A____。A、9 B、11 C、19 D、21 知识点:函数的定义和返回值
95.在C语言中,函数的隐含存储类别是___C___。A、auto B、static C、extern D、无存储类别 知识点:函数的定义和返回值 97.若程序中定义了以下函数 double myadd(double a,double b){ return(a+b);} 并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是__A____。
A、double myadd(double a,b);B、double myadd(double,double);C、double myadd(double b,double a);D、double myadd(double x,double y);知识点:函数的定义和返回值 98.若有以下程序 #include void f(int n)main(){ void f(int n);f(5);} void f(int n);{ printf(“%dn”,n);} 则以下叙述不正确的是___C___。
A、若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数f B、若在主函数前对函数f进行说明,则在主函数和其它函数中都可以正确调用函数f C、对于以上程序,编译时系统会出提示出错信息:提示对f函数重复说明 D、函数f无返回值,所以可用void将其类型定义为无值型 知识点:函数的说明
99.下列叙述中正确的是___D___。
A、C语言编译时不检查语法B、C语言的子程序有过程和函数两种 C、C语言的函数可以嵌套定义D、C语言所有函数都是外部函数 知识点:库函数
101.以下不能正确定义二维数组的选项是__D____。A、int a[2][2]={{1},{2}};B、int a[][2]={1,2,3,4};C、int a[2][2]={{1},2,3};D、int a[2][]={{1,2},{3,4}};知识点:二维数组的定义和二维数组元素的引用 102.以下能正确定义二维数组的是___B___。
A、int a[][3];B、int a[][3]={2*3};C、int a[][3]={};D、int a[2][3]={{1},{2},{3,4}};知识点:二维数组的定义和二维数组元素的引用 103.以下程序的输出结果是___A___。main(){ int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;for(i=1;i
printf(“%d,”,x[i][2-i]);} A、1,5,9 B、1,4,7 C、3,5,7 D、3.6.9 知识点:二维数组的定义和二维数组元素的引用 知识点:二维数组的定义和二维数组元素的引用 106.以下数组定义中错误的是___B___。
A、int x[][3]={0};B、int x[2][3]={{1,2},{3,4},{5,6}};C、int x[][3]={{1,2,3},{4,5,6}};D、int x[2][3]={1,2,3,4,5,6};知识点:二维数组的定义和二维数组元素的引用 107.以下数组定义中不正确的是___D___。A、int a[2][3];B、int b[][3]={0,1,2,3};C、int c[100][100]={0};D、int d[3][]={{1,2},{1,2,3},{1,2,3,4}};知识点:二维数组的定义和二维数组元素的引用 108.有以下程序 main(){ int m[][3]={1,4,7,2,5,8,3,6,9};int i,j,k=2;for(i=0;i
A、4 5 6 B、2 58 C、3 6 9 D、7 8 9 知识点:二维数组的定义和二维数组元素的引用
109.以下能正确定义数组并正确赋初值的语句是___D___。A、int N=5,b[N][N];B、int a[1][2]={{1},{3}};C、int c[2][]={{1,2},{3,4}};D、int d[3][2]={{1,2},{34}};知识点:二维数组的定义和二维数组元素的引用 111.以下程序的输出结果是___A___。main(){ int a[4][4]={{1,3,5},{2,4,6},{3,5,7}};printf(“%d%d%d%dn”,a[0][3],a[1][2],a[2][1],a[3][0]);} A、0650 B、1470 C、5430D、输出值不定 知识点:二维数组的定义和二维数组元素的引用 112.定义如下变量和数组: int i;int x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是__C____。for(i=0;i,则输出结果为___B___。A、2 0 0 B、2 0 4C、2 4 0 D、2 4 6 知识点:二维数组的定义和二维数组元素的引用
130.当调用函数时,实参是一个数组名,则向函数传送的是___B___。
A、数组的长度B、数组的首地址C、数组每一个元素的地址D、数组每个元素中的值 知识点:函数之间对一维数组和数组元素的引用 132.有以下程序 void sum(int a[]){ a[0]=a[-1]+a[1];} main(){ int a[10]={1,2,3,4,5,6,7,8,9,10};sum(&a[2]);printf(“%dn”,a[2]);} 程序运行后输出结果是__A____。A、6 B、7 C、5 D、8 知识点:函数之间对一维数组和数组元素的引用 138.有以下程序 main(){ char s[]=“abcde”;s+=2;printf(“%dn”,s[0]);} 执行后的结果是___D___。
A、输出字符a的ASCII码B、输出字符c的ASCII码C、输出字符cD、程序出错 知识点:函数之间对一维数组和数组元素的引用 139.请读程序: #include f(int b[],int n){ int i,r;r=1;for(i=0;i
140.若要求定义具有10个int形元素的一维数组a,则以下的定义语句中错误的是____D__。
A、#define N 10int a[N];B、#define n 5int a[2*n];C、int a[5+5];D、int n=10,a[n];知识点:一维数组的定义和一维数组元素的引用 141.合法的数组定义是__D____。
A、int a[]=“string”;B、int a[5]={0,1,2,3,4,5};C、char s=“string”;D、char a[]={0,1,2,3,4,5};知识点:一维数组的定义和一维数组元素的引用 144.以下能正确定义一维数组的选项是___B___。A、int a[5]={0,1,2,3,4,5};B、char a[]={0,1,2,3,4,5};C、char a={'A','B','C'};D、int a[5]=“0123”;知识点:一维数组的定义和一维数组元素的引用 145.有如下程序 main(){ int n[5]={0,0,0},i,k=2;for(i=0;i=0;i--)a[i]=10-i;printf(“%d%d%d”,a[2],a[5],a[8]);} A、258 B、741 C、852 D、369 知识点:一维数组的定义和一维数组元素的引用
147.执行下面的程序段后,变量k中的值为___A___。int k=3,s[2];s[0]=k;k=s[1]*10;A、不定值B、32
C、30 D、10 知识点:一维数组的定义和一维数组元素的引用
170.以下能正确计算定义且赋初值的语句是___B___。A、int n1=n2=10;B、char c=32;C、fioat f=f+1.1;D、double x=12.3E2.5 知识点:赋值语句
171.以下合法的赋值语句是___B___。
A、x=y=100 B、d--;C、x+y;D、c=int(a+b);172.下列语句中符合C语言语法的赋值语句是___D___。A、a=7+b+c=a+7;B、a=7+b++=a+7;C、a=7+b,b++,a+7 D、a=7+b,c=a+7;173.请选出合法的C语言赋值语句___B___。
A、a=b=58 B、i++;C、a=58,b=58 D、k=int(a+b);174.下面程序的输出是___C___。main(){ int x=10,y=3;printf(“%dn”,y=x/y);} A、0 B、1 C、3 D、不确定的值 知识点:数据输出
175.已知字母A的ASCII码为十进制的65,下面程序的输出是___A___。main(){ char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf(“%d,%cn”,ch1,ch2);} A、67,D B、B,C C、C,D D、不确定的值 知识点:数据输出
176.下列程序的运行结果是___B___。#include main(){ int a=2,c=5;printf(“a=%d,b=%d n”,a,c);} A、a=%2,b=%5 B、a=2,b=5C、a=d,b=d D、a=%d,b=5d 177.以下程序的输出结果是___D___。#include main(){ int a=2,c=5;printf(“a=%%d,b=%%dn”,a,c);} A、a=%2,b=%5 B、a=2,b=5C、a=%%d,b=%%d D、a=%d,b=%d 178. 有以下程序 main(){ int x=102,y=012;printf(“%2d,%2dn”,x,y);}
执行后输出结果是___C___。
A、10,01 B、02,12C、102,10 D、02,10 179. 有以下程序 main(){ int a=666,b=888;printf(“%dn”,a,b);} 程序运行后的输出结果是___B___。A、错误信息B、666 C、888 D、666,888 180.有以下程序 #include main(){ char c1='1',c2='2';c1=getchar();c2=getchar();putchar(c1);putchar(c2);} 当运行时输入:a 后,以下叙述正确的是___A___。A、变量C1 被赋予字符a,c2被赋予回车符 B、程序将等待用户输入第2个字符
C、变量c1被赋予字符a, c2中仍是原有字符2 D、变量c1 被赋予字符a,c2中将无确定值
181.执行下列程序时输入:123456789,输出结果是___D___。main(){ char s[100];int c,i;scanf(“%c”,&c);scanf(“%d”,&i);scanf(“%s”,s);printf(“%c,%d,%s n”,c,i,s);} A、123,456,789 B、1,456,789C、1,23,456,789 D、1,23,456 182.有定义语句:int b;char c[10];,则正确的输入语句是__B____。A、scanf(“%d%s”,&b,&c);B、scanf(“%d%s”,&b,c);C、scanf(“%d%s”,b,c);D、scanf(“%d%s”,b,&c);184.若要求从键盘读入含有空格字符的字符串,应使用函数___B___。A、getc()B、gets()C、getchar()D、scanf()186.有以下程序 #include main(){ char c1,c2,c3,c4,c5,c6;scanf(“%c%c%c%c”,&c1,&c2,&c3,&c4);c5=getchar();c6=getchar();putchar(c1);putchar(c2);printf(“%c%cn”,c5,c6);} 程序运行后,若从键盘输入(从第1列开始)___D___。123 45678 则输出结果是
A、1267 B、1256 C、1278 D、1245 188.有以下程序 main(){ int m,n,p;scanf(“m=%dn=%dp=%d”,&m,&n,&p);printf(“%d%d%dn”,m,n,p);} 若想从键盘上输入数据,使变量 m 中的值为 123,n 中的数值为 456,p 中的值为 789,则正确的输入是___A___。
A、m=123n=456p=789B、m=123 n456 p=789 C、m=123,n=456,p=789D、123 456 789 189.有以下程序段 int m=0,n=0;char c='a';scanf(“%d%c%d”,&m,&c,&n);printf(“%d,%c,%dn”,m,c,n);若从键盘上输入:10A10,则输出结果是___A___。A、10,A,10 B、10,a,10C、10,a,0 D、10,A,0 192.有定义语句:int x,y;,若要通过scanf(“%d,%d”,&x,&y);语句使变量x得到数据11,变量y得到数值12,下面四组输入形式中,错误的是___A___。
A、11 12B、11,12C、11, 12D、11,12 193.在嵌套使用if语句时,C语言规定else总是___C___。A、和之前与其具有相同缩进位置的if配对B、和之前与其最近的if配对 C、和之前与其最近的且不带else的if配对D、和之前的第一个if配对 知识点:if语句和用if语句构成的选择结构
195.假定所有变量均已正确说明,下列程序段运行后x的值是___B___。a=b=c=0;x=35;if(!a)x--;else if(b);if(c)x=3;else x=4;A、34 B、4 C、35 D、3 196.有以下程序 main(){ int i;for(i=1;i #include main(){ float x,y,z;scanf(“%f%f”,&x,&y);z=x/y;while(z){ if(fabs(z)>1.0){ x=y;y=z;z=x/y;} else break;} printf(“%fn”,y);} 若运行时从键盘上输入3.6 2.4(表示回车),则输出的结果是___B___。A、1.500000 B、1.600000C、2.000000 D、2.400000 204.有以下程序 main(){ int k=5,n=0;while(k>0){ switch(k){ default : break;case 1: n+=k;case 2: case 3: n+=k;} k--;} printf(“%dn”,n);} 程序运行后的输出结果是___D___。A、0 B、4 C、6 D、7 知识点:switch语句以及用switch语句和break语句构成的选择结构 207.有以下程序 main(){ int i;for(i=0;i
A、011122 B、012 C、012020 D、120 209.如下程序 main(){ int x=1,a=0,b=0;switch(x){ case 0: b++;case 1: a++;case 2: a++;b++;} printf(“a=%d,b=%dn”,a,b);} 该程序的输出的结果是___A___。
A、a=2,b=1 B、a=1,b=1C、a=1,b=0 D、a=2,b=2 210以下程序的输出结果是___A___。main(){ int a=0,i;for(i=1;i
213.设a为整型变量,不能正确表达数学关系:1010 && a=15)知识点:关系运算和逻辑运算
214.以下程序的输出结果是___A___。main(){ int a=4,b=5,c=0,d;d=!a&&!b||!c;printf(“%dn”,d);} A、1 B、0 C、非0的数D、-1 215.语句:printf(“%d”,(a=2)&&(b=-2));的输出结果是___D___。A、无输出 B、结果不确定C、-1 D、1 216.设a、b、c、d、m、n均为int型变量,且a=
5、b=
6、c=
7、d=
8、m=
2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为___C___。A、0 B、1 C、2 D、3 217.若变量c为char类型,能正确判断出c为小写字母的表达式是__D____。A、'a'='a')||(c=c)D、(c>='a')&&(c=10 or a=0 | a=10 && a=10 || aa)||(m=a
A、a0 B、!a C、a=0 D、a 223.有如下程序段 int a=14,b=15,x;char c='A';x=(a&&b)&&(c=0‖b>=0)&&(a=0&&b>=0)&&(a0)&&(a+b0 知识点:条件表达式构成的选择结构 227.以下程序的输出结果是___C___。main(){int a=5,b=4,c=6,d;printf(“%dn”,d=a>b?(a>c?a:c):(b));} A、5 B、4 C、6 D、不确定
228.若整型变量a、b、c、d中的值依次为:1、4、3、2。则条件表达式 a0)B、(x-y0)D、(x-y= =0)230.有以下程序段 int k=0,a=1,b=2,c=3;k=ac?k:b;执行该程序段后,k的值是___B___。A、3 B、2 C、1 D、0 231.以下程序段中与语句 k=a>b?(b>c?1:0):0;功能等价的是___A__。A、if((a>b)&&(b>c))k=1;else k=0;B、if((a>b)||(b>c))k=1;else k=0;C、if(ab)k=1;else if(b>c)k=1;else k=0;232.假定w、x、y、z、m均为int型变量,有如下程序段: w=1;x=2;y=3;z=4;m=(w
A、321 B、23C、不输出任何内容D、陷入死循环 知识点:do-while语句和do-while语句构成的循环结构 235.有以下程序 main(){ int s=0,a=1,n;scanf(“%d”,&n);do { s+=1;a=a-2;} while(a!=n);printf(“%dn”,s);} 若要使程序的输出值为2,则应该从健盘给n输入的值是___B___。A、-1 B、-3 C、-5 D、0 236.有以下程序段 int n,t=1,s=0;scanf(“%d”,&n);do { s=s+t;t=t-2;} while(t!=n);为使此程序不陷入死循环,从键盘输入的数据应该是___D___。A、任意正奇数 B、任意负偶数C、任意正偶数 D、任意负奇数 239.有以下程序 main(){ int i=0,s=0;do { if(i%2){ i++;continue;} i++;s+=i;} while(i
A、do-while语句构成的循环不能用其它语句构成的循环来代替 B、do-while语句构成的循环只能用break语句退出
C、用do-while语句构成的循环,在while后的表达式为非零时结束循环 D、用do-while语句构成的循环,在while后的表达式为零时结束循环 242.以下程序的输出结果是___D___。main(){ int x=10,y=10,i;for(i=0;x>8;y=++i)printf(“%d %d ”,x--,y);} A、10 1 9 2 B、9 8 7 6C、10 9 9 0 D、10 10 9 1 知识点:for语句和用for语句构成的循环结构 244.以下程序的输出结果是___B___。main(){ int i, k,a[10],p[3];k=5;for(i=0;i1;i++)f*i;D、f=1;for(i=n;i>=2;i--)f*=i;247.若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c 均已赋值(c大于0)s=a;for(b=1;b
程序执行后的输出结果是___D___。
A、自然数1~9的累加和B、自然数1~10的累加和 C、自然数1~9中奇数之和D、自然数1~10中偶数之和 249.有如下程序 main(){ int i,sum;for(i=1;i
知识点:while语句和while语句构成的循环
253.以下程序中,while循环的循环次数是___D___。main(){ int i=0;while(i
A、循环控制表达式的值为0B、循环控制表达式的值为1 C、循环控制表达式不合法D、以上说法都不对 255.有如下程序 main(){ int n=9;while(n>6){ n--;printf(“%d”,n);} } 该程序段的输出结果是___B___。A、987 B、876 C、8765 D、9876 256.有以下程序 main(){int p[7]={11,13,14,15,16,17,18};int i=0,k=0;while(i
A、无限次B、有语法错,不能执行C、一闪也不执行D、执行1次 259.以下程序的输出结果是___C___。main(){ int n[3][3],i,j;for(i=0;i=i)m=1;n++;printf(“%d n”,n);} A、4 B、2 C、1 D、0 262.有以下程序 main(){ int i,n=0;