通过海量题库、编程比赛和实时排名,系统化提升您的编程能力。
第1题
C语言的注释定界符是( )。
[ ]
{ }
\* *\
/* */
第2题
以下不正确的叙述是( )。
在C程序中所用的变量必须先定义后使用
当输入数值数据时,对于整型变量只能输入整型值;对于实型变量只能输入实型值
程序中,APH和aph是两个不同的变量
若a和b类型相同,在执行了赋值语句a=b;后b中的值将放入a中,b中的值不变
第3题
设ch是char型变量,其值为A,则表达式ch=(ch>='A'&&ch<='Z')?(ch+32):ch的值是( )。
z
a
A
Z
第4题
执行下面程序段后,i的值是( )。
int i=10; switch(i) { case 9: i+=1; case 10: i--; case 11: i*=3; case 12: ++i; }
28
10
9
27
第5题
在以下给出的表达式中,与do-while(E)语句中的(E)不等价的表达式是( )。
(E>0||E<0)
(E==0)
(!E==0)
(E!=0)
第6题
以下标识符中可以作为用户函数名的是( )。
struct
int
union
go_to
第7题
以下叙述错误的是( )。
函数调用可以出现在一个表达式中
函数调用可以作为一个函数的形参
函数调用可以作为一个函数的实参
函数允许递归调用
第8题
若有#define S(r) PI*r*r,则S(a+b)展开后的形式为( )。
PI*a*a+PI*b*b
PI*a+b*a+b
PI*(a+b)*(a+b)
PI*r*r*(a+b)
第9题
以下程序段给数组所有的元素输入数据,请选择正确答案填入( )。
#include<stdio.h> main() { int a[10],i=0; while(i<10) scanf("%d",(_______)); }
&a[i+1]
a+i
a+(i++)
&a[++i]
第10题
C语言中,定义结构体的保留字是( )。
typedef
enum
第11题
C程序的每行中只能写一条语句。
正确
错误
第12题
整型变量在可输出字符范围内,可以和字符型数据相互转化。
第13题
C语言的输出功能是由系统提供的输出函数实现的。
第14题
printf函数的一般格式为:printf(格式控制,地址表列)。
第15题
设o=1,p=2,q=3,则逻辑表达式!(o<p)||!q&&1的值为0。
第16题
运算符的级别由高向低依次为!->算术运算符->关系运算符->逻辑运算符->赋值运算符。
第17题
在do-while循环中,根据情况可以省略while。
第18题
for循环的三个表达式中间用分号相分隔,并且不能省略。
第19题
对任何一个二维数组的元素,都可以用数组名唯一地加以确定。
第20题
C语言中引用数组元素的方括号可以用花括号代替。
第21题
引用数组元素时,数组元素下标必须是整型常量。
第22题
C语言中,若对函数的类型未加显示说明,则函数的类型是不确定的。
第23题
数组名作为函数调用时的实参,实际上传递给形参的是数组全部元素的值。
第24题
没有初始化的数值型静态局部变量的初值系统均默认为0。
第25题
带参数的宏定义不是进行简单的字符串替换,还要进行参数替换。
第26题
C语言的三种基本结构是_____结构、选择结构、循环结构。
第27题
若有定义:
char c='\010';
则变量C中包含的字符个数为_____。
第28题
逗号表达式(a=3*5,a*4),a+5的值为_____。
第29题
若char w,int x,float y,double z;则表达式w*x+z-y的结果为_____类型。
第30题
设x=4<4-!0,x的值为_____。
第31题
C语言表达式!(4>=6)&&(3<=7)的值是_____。
第32题
当a=1,b=2,c=3时,执行以下程序段后c=_____。
if(a>c) b=a; a=c; c=b;
第33题
已知i=5,写出语句a=(i>5)?0:1;执行后整型变量a的值是_____。
第34题
若输入字符串:abcde<回车>,则以下while循环体将执行_____次。
while((ch=getchar())=='e') printf("*");
第35题
执行语句char str[81]="abcdef";后,字符串str结束标志存储在str[_____](在括号内填写下标值)中。
第36题
定义int a[2][3];表示数组a中的元素个数是_____个。
第37题
如果函数不要求返回值,可用_____来定义函数为空类型。
第38题
预处理命令行都必须以_____号开始。
第39题
将数组a的首地址赋给指针变量p的语句是_____。
第40题
设有以下共用体类型说明和变量定义,则变量c在内存所占字节数是_____。
union stud { short int num; char name[10]; float score[5]; double ave; } c;
第41题
功能:编写函数fun(int m)求1000以内(不包括1000)所有m的倍数之和。
#define N 1000 #include<stdio.h> int fun(int m) { int s=0,i; for(_____1_____) if(_____2_____) _____3_____ _____4_____ } void TestFunc() { FILE *OUT; int o; OUT=fopen("out.dat","w"); if(OUT==NULL) { printf("Write File Error"); } o = fun(6); fprintf(OUT,"%d\n",o); fclose(OUT); } void main() { int sum; sum=fun(7); printf("%d以内所有%d的倍数之和为:%d\n",N,7,sum); TestFunc(); }
第42题
功能:从低位开始取出长整型变量s中偶数位上的数,依次构成一个新数放在t中。
例如:当s中的数为:7654321时,t中的数为:642。
#include<stdio.h> long fun(long s,long t) { long sl=10; _____1_____ _____2_____ while(_____3_____) { _____4_____ _____5_____ _____6_____ } return t; } void main() { long s, t,m; void TestFunc(); printf("\nPlease enter s:"); scanf("%ld", &s); m=fun(s,t); printf("The result is: %ld\n", m); TestFunc(); } void TestFunc() { FILE *IN,*OUT; int n; long i,t,m; IN=fopen("in.dat","r"); if(IN==NULL) { printf("Read File Error"); } OUT=fopen("out.dat","w"); if(OUT==NULL) { printf("Write File Error"); } for(n=0;n<5;n++) { fscanf(IN,"%ld",&i); m=fun(i,t); fprintf(OUT,"%ld\n",m); } fclose(IN); fclose(OUT); }
选择题(1 - 25题,共计25分) 填空题(26 - 42题,共计75分)