第1题
下面4个选项中,是C语言关键字的选项是( )。
auto Enum include
switch typedef continue
signed union scanf
if stuct type
第2题
设变量n为float类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是( )。
n=(n*100+0.5)/100.0
m=n*100+0.5,n=m/100.0
n=n*100+0.5/100.0
n=(n/100+0.5)*100.0
第3题
以下C程序的运行结果是。(注□表示空格)
#include<stdio.h> int main() { long y=-43456:printf("y=%-8d\n"); printf("y=%-08d\n",y); printf("y=%-08d\n",y); printf("y=%+8d\n",y); return 0; }
y=□□-43456 y=□□43456 y=□□-0043456 y=□□-43456
y=-43456 y=-43456 y=-0043456 y=+□-43456
y=-43456 y=-43456 y=-43456 y=0043456 y=□□-43456
y=□□-43456 y=-0043456 y=00043456 y+=43456
第4题
已知ch是字符型变量,下面不正确的赋值语句是( )。
ch='a+b';
ch='\0';
ch='7'+'9'
ch=5+9;
第5题
有下面程序段:
char a[3],b[]="China"; a=b; printf("%s",A);
则( )。
运行后将输出China
运行后将输出Ch
运行后将输出Chi
编译出错
第6题
以下叙述不正确的是( )。
一个C源程序可由一个或多个函数组成
一个C源程序必须包含一个main函数
C程序的基本组成单位是函数
在C程序中,注释说明只能位于一条语句的后面
第7题
执行语句for(i=1;i++<4; );变量i的值是( )
3
4
5
不定
第8题
若用数组名作为函数调用的实参,则传递给形参的是( )。
数组的首地址
数组的第一个元素的值
数组中全部元素的值
数组中元素的个数
第9题
若有以下说明和语句:
char *language[]={"FORTRAN"."BASIC","PASCAL","JAVA","C"}; char **q; q=language+2;
则语句printf("%o\n",*q);( )。
输出的是language[2]元素的地址
输出的是字符串PASCAL的首地址
输出的是language[2]元素的值,它是字符串PASCAL的首地址
格式说明不正确,无法得到确定的输出
第10题
若有定义:int(*p)[4];则标识符p( )。
是一个指向整型变量的指针
是一个指针数组名
是一个指针,他指向一个含有四个整型元素的以为数组
说明不合法
第11题
以下程序运行结果是( )。
#include<stdio.h> int fun(int a,int B) { if(a>B return(a+B)) else return(a-b); int main() { int x=3,y=8,z=6,r; r=fun(fun(x,y),2*z); printf("%d\n",r); return 0; } }
-16
917
17
16
第12题
下面程序运行成果是( )。
#include<stdio.h> #include<string.h> int main() { char a[80]='AB',b[80]="LMNP"; int i=0; stract (a,b); while(a[i++]!='\o') b[i]+a[i]; puts(B); return 0; }
LB
ABLMN
AB
LBLMNP
第13题
下面程序的功能是将字符串s中所有的字符c删除,请选择填空( )。
#include<stdio.h> int main() { char s[80]; int i,j; gets(s); for(i=j=0;s[i!='\o';i++]) if(s[i]!='c')[]; s[j]='\o'; puts(s); return 0; }
s[j++]=s[i]
s[++j]=s[i]
s[j]=s[]ij++
s[j]=s[i]
第14题
以下程序( )。
#include<stdio.h> int main() { int a=5;b=0;c=0; if(a=b+C,printf("***\n")) else printf("$$$\n"); return 0; }
有语法错误不能通过编译
可以通过编译但不能通过链接
输出***
输出$$$
第15题
设有char a,b;若要通过a&b运算屏蔽掉a中的其他位,只保留第2和第8位(右起为第1位),则b的二进制数是________。
第16题
结构化程序是由________、________、________3中基本结构组成。
第17题
在C语言源程序中,一个变量代表________。
第18题
把一下多项式写成只含7次乘法运算,其余皆为加、减运算的C语言表达式为________。
5x7+3x6-4x5+2x1+x3-6x2+x+10
第19题
表达式
8/4*(int)2.5/(int)(1.25*(3.7+2.3))
值的数据类型为________。
第20题
下面程序的运行结果________。
char*s1="AbcdEf",*s2=aB; int t; s1++; t=(strcmp(s1,s2)>0); printf("%d\n",t);
第21题
下面程序段是找出整数的所有因子。请填空______.
scanf("%d",&x); i=1; for( ;______; ) { if(x%i==0) printf("%3d",i); i++; }
第22题
假设有如下代码:
float k; scanf("%d",k);
缺不能使float类型变量k得到正确数值,应改为:____________。
第23题
已有定义int a;float b,x;char c1,c2;a=3,b=6.5,x=12.6,c1=a,c2='A',正确的scanf函数调用语句是______,数据输入的形式应为_____。
第24题
若有定义float[3][5],则a数组所含数组元素个数是_____,a数组所占的字节数_______。
第25题
已知字母A的ASCII码值为65,以下程序输出结果是______________。
#include<stdio.h> int main() { char a,b; a='A'+'4'-'3'; b='A'+'6'-'2'; printf("a=%d,b=%c\n",a,b); return 0; }
第26题
以下printf语句中的负号的作用是___________,该程序的输出结果是_________。
#include<stdio.h> int main() { int x=12; double a=3.1415926; printf("%6d##\n",x); printf("%-6d##\n",x); printf("%14.101df##\n",a); printf("%-14.101df##\n",a); }
第27题
以下程序功能是:输入3个数,按从大到小的顺序进行输入,请填空
#include<stdio.h> int main() { int x,y,z,c; scanf("%d%d%d",&x,&y,&z); if(__1___) { c=y; y=z; z=c; } if(__2___) { c=x; x=z; z=c; } if(__3___) { c=x; x=y; y=c; } printf("%d%d%",x,y,z); return 0; }
第28题
若以下程序时输入:-2<回车>,则程序的输出结果是__________。
#include<stdio.h> int main() { int a,b; scanf("%d",&a); b=(a>0)?a:-a; printf("b=%d",b); return 0; }
第29题
当运行以下程序时,从键盘输入“-10<回车>”,则下面程序的运行结果是_________。
#include<stdio.h> int main() { int a,b,m=1,n=1; scanf("%d%d",&a,&b); do{ if(a>0) { m=2*n; b++; } else(n=m+n;a+=2;b++) } while(a==b); printf("m=%d n=%d",m,n); }
第30题
以下程序的功能是
#include<stdio.h> int fac(int n) { static int f=1; f=f*n; return(f); } int main() { int i; for(i=1;i<=5;i++) printf("%d!=%d\n",i,fac(i)); return(0); }
第31题
当键盘输入18时,下面程序运行结果是__________。
#include<stdio.h> int main() { int x,y,i,a[8],j,u; scanf("%d",&x); y=x; i=0; do { u=y/2; a[i]=y%2; i++; y=u; } while(y>=1); for(j=i-1;j>=0;j--) printf("%d",a[i]); return 0; }
第32题
以下程序运行结果是__________。
#include<stdio.h> #define N6 void fun(int *a) { int i,t; t=*(a+1); for(i=0;i<N-1;i++) *(a+i)=*a+i+1; *(a+i); } int main() { int a[N]={11,66,33,77,55,99},i; printf("\n"); fun(a); for(i=0;i<N;i++) printf("%d",a[i]); return(0); }
第33题
已有变量定义语句double=5.0,p;int n=5;和函数调用语句p=mypow(a,n);用以求a的n次方,请重新编写double mypow (double x,int y)函数。
double mypowe(double x,int y) { int i; double p; p=1.0; for(i=1;i<=y;i++) p=p*x; return p; }
第34题
从键盘输入一个字符串a,并在a串中的最大元素后边插入字符串b(b[]='ab').试编码。
#include<stdio.h> int main() { char a[80],b[]='ab',max; int i=1,j; printf("Input a string\n"); gets(a); puts(a); max=a[0]; while(a[i!='\o']) { if(a[i]>max) { max=a[];j=i; } i++; } for(a=strlen(a)+2;i>j;i--) a[i]=a[i-2]; a[i+1]='a'; a[i+2]='b'; puts(a); return 0; }
选择题(1 - 14题,共计42分) 填空题(15 - 34题,共计58分)