=d)==1) printf("%" />
1.有以下程序#include <stdio.h>void main(){ int a=5,b=4,c=3,d=2;if(a>b>c)printf("%d\n",d);else if((c-1>=d)==1)printf("%d\n",d+1);elseprintf("%d\n",d+2);}执行后输出的结果是___D___。
A.2B.编译时有错,无结果C.4D.32.设x为int型变量,则执行以下语句后,x的值为:int x = 10;x*=x/=-x;printf("%d\n", --x); --D---A.10B.1C.-10D.03.下面程序的输出是_C___。
main(){ int x,i;for(i=1;i<=100;i++){ x=i;if(++x%2==0)if(++x%3==0)if(++x%7==0)printf("%d ",x);}}A.39 81B.42 84C.28 70D.26 684.在C语言中,合法的字符常量是---B----A."a"B.'\t'C.97D.a5.已知int x=12,y=3;执行下述程序后,变量x的值是_D___。
do{ x/=y--;}while(x>y);printf("%d\n",x);}A.2B.1C.3D.程序运行有错误6.有以下程序#include <stdio.h>void main(){ int m=3,n=4,x;x=-m++;x=x+8/++n;printf("%d\n",x);}程序运行后的输出结果是__C____。
A.3B.5C.-2D.-17.若a、b、c1、c2、x、y均是整型变量,正确的switch语句是______。
①switch(a+b);{ case 1:y=a+b;break;case 0:y=a-b;break;}②switch(a*a+b*b){ case 3:case 1:y=a+b;break;case 3:y=b-a;break;}③switch a{ case c1:y=a-b;break;case c2:x=a*b;break;default:x=a+b;}④switch (a-b){ default:y=a*b;break;case 3:case 4:x=a+b;break;case 10:case 11:y=a-b;break;}----A-----A.④B.③C.①D.②8.有以下程序#include <stdio.h>void main(){ int y=10;while (y--); printf("y=%d\n", y);}程序执行后的输出结果是---A---A.y=-1B.while构成无限循环C.y=0D.y=19.有以下程序#include <stdio.h>void main(){ int n=0,m=1,x=2;if(!n) x-=1;if(m) x-=2;if(x) x-=3;printf("%d\n",x);}执行后输出结果是_-4____10.有如下程序#include <stdio.h>void main(){int x=23;do{printf("%d",x--);}while(!x);}则输出结果为(23 )11.以下程序运行后的输出结果是1 2 3_____。
#include <stdio.h>void main(){ int i, m=0, n=0, k=0;for(i=9; i<=11; i++)switch(i/10){ case 0: m++; n++; break;case 10: n++; break;default: k++; n++;}printf("%d %d %d \n", m, n, k);}12. 以下程序的功能是:输出100以内(不含100)能被3整除且个位数为6的所有整数,请填空。
#include <stdio.h>void main (){int i, j;for(i=0;i<10; i++){j=i*10+6;if( _j%3!=0___ ) continue;printf("%d ",j);}}1.把C语言的源程序变为目标程序要经过( C )A.编辑B.连接C.编译D.运行2.C语言中用于结构化程序设计的三种基本结构是___C___。
A.for、while、do-whileB.if、switch、breakC.顺序结构、选择结构、循环结构\D.if、for、continue3.以下叙述中正确的是__B____。
A.花括号“{”和“}”只能作为函数体的定界符B.C程序中注释部分可以出现在程序中任意合适的地方C.构成C程序的基本单位是函数,所有函数名都可以由用户命名D.分号是C语句之间的分隔符,不是语句的一部分本题的考查点是C程序设计的初步知识。
选项A,C程序中/*……*/表示注释部分,注释只是给人看的,对编译和运行不起作用,可以加在程序中任何位置,所以选项A是对的;选项B,函数体是函数的主体,从左花括号开始,到与之匹配的右花括号结束。
花括号还可以作为复合语句的定界符。
选项C,一个C程序中必须有且只能有一个由“main”命名的主函数,其他函数由用户自行命名。
选项D,C语句是组成C程序的基本单位,具有独立的程序功能。
所有的C语句都以分号结尾。
故本题答案为A。
4.有以下程序段int k=0;while(k=1)k++;while循环执行的次数是__D____。
A.执行1次B.有语法错,不能执行C.一次也不执行D.无限次乍一看,还以为程序要表达的意思是当k等于1的时候做k++,但是C语言里关系表达式的等于应该是"=="。
一个等于号表示赋值,即这里面重复的把1赋给k,自然表达式k=1的值总为1,while后面的表达式恒为真,当然会进入死循环。
本题答案为A。
5.设有说明语句: char a = '\72'; 则变量a ___C___。
A.说明不合法B.包含3个字符C.包含1个字符D.包含2个字符本题考查点是转义字符的应用。
转义字符常量'\xx'可以把'\'后面的数字转换为对应的ASCII字符,'\72'表示的是ASCII码等于72的那个字符,即为"H",所以在字符变量中存储的只是"H"这一个字符。
故本题答案为A。
6.下面程序#include <stdio.h>void main(){int x=10,y=3;printf("%d\n",y=x/y);}的输出是__C____。
A.不确定的值B.1C.3D.0本题的考查点是除法运算。
x/y的结果约为3.33333,但x和Y定义为int,由于打印要求为整型,所以自动转换为整型(相当于截取整数位),打印结果为3。
故本题答案为C。
7.设a和b均为double型常量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是___B___。
A.5.500000B.6.000000C.6D.6.500000本题的考查点是各类数值型数据的混合运算。
各类数值型数据在进行混合运算时,不同类型的数据要先转换成同一类型,然后进行运算。
转换的规则为:字符数据必定先转换为整数,short型转为int型,float型数据在运算时一律先转换成双精度型,以提高运算精度。
故本题答案为D。
8.有如下程序#include <stdio.h>void main(){ int x=1,a=0,b=0;switch(x){case 0: b++;case 1: a++;case 2: a++;b++;}printf("a=%d,b=%d\n",a,b);}该程序的输出结果是__D____。
A.a=2,b=2B.a=1,b=1C.a=1,b=0D.a=2,b=1在这个switch语句中,因为x的值为1,所以执行case 1:后面的a++,这样a = 1。
但又由于其下没有break语句,所以其后面的语句(a++;b++)也将被执行,这样一来,a = 2,b = 1。
本题答案为A。
9.设有定义:int a; float b; 执行scanf("%2d%f",&a,&b); 语句时,若从键盘输入876 543.0<回车>,a和b的值分别是----D----A.876和543.000000B.76和543.000000C.87和543.000000D.87和6.00000010.有以下程序#include <stdio.h>void main(){ int s=0,a=1,n;scanf("%d",&n);do{s+=1; a=a-2;}while(a!=n);printf("%d\n",s);}若要使程序的输出值为2,则应该从键盘给n输入的值是__B____。
A.-5B.-3C.-1D.0本题的考查点是do-while语句此语句的一般形式为:do 语句while (表达式)其特点为:先执行语句,后判断表达式。
它是这样执行的:先执行一次指定的内嵌的语句,然后判别表达式,当表达式的值为非零(“真”)时,返回重新执行该语句,如此反复,直到表达式的值等于0为止,此时循环结束。
当n=-1时,s+=1,s=1; a=a-2=-1;a!=n不成立,结束循环,此时s值为1,不符合题意;当n=-3时,s+=1,s=1; a=a-2=-1;a!=n成立,继续循环,s=s+1=2,a=a-2=-3;a!=n不成立,此时s值为2,符合题意;故本题答案为B。
11.以下选项中非法的表达式是__D____。
A.i=j==0B.0<=x<100C.(char)(65+3)D.x+1=x+1计算或运算主要是通过表达式实现的。
不同的表达式进行不同的运算,达到不同的目的。
选项A中,0<=x<100在C语言中是一个合法的关系表达式,但它并不代表数学式0<=x<100。
在计算0<=x<100时,根据从左到右的结合性,先计算0<=x,其结果只能是0或1,然后再比较0<100或1<100。