1. 以下选项中,能用作用户标识符的是
A)void
B)8_8
C)_0_
D)unsigned
2. 阅读以下程序
#include <stdio.h>
main()
{ int case; float printF;
printf("请输入2个数:");
scanf("%d %f",&case, &printF);
printf("%d %f\n", case, printF);
return 0;
}
该程序编译时产生错误,其出错原因是
A)定义语句出错,case是关键字,不能用作用户自定义标识符
B)定义语句出错,printF不能用作用户自定义标识符
C)定义语句无错,scanf不能作为输入函数使用
D)定义语句无错,printf不能输出case的值
3. 表达式:(int)((double)9/2)-(9)%2的值是
A)0
B)3
C)4
D)5
4. 若有定义语句:int x=10, y=20;,则表达式x-=x+y的值为
A)-20
B)-10
C)0
D)10
5. 有以下程序
#include <stdio.h>
main()
{ int a=1,b=0;
printf("%d,", b=a+b);
printf("%d\n", a=2*b);
return 0;
}
程序运行后的输出结果是
A)0,0
B)1,0
C)3,2
D)1,2
6. 设有定义:int a=1,b=2,c=3;,以下语句中执行效果与其它三个不同的是
A)if(a>b)c=a,a=b,b=c;
B)if(a>b){c=a,a=b,b=c;}
C)if(a>b)c=a;a=b;b=c;
D)if(a>b){c=a;a=b;b=c;}
7. 设有以下定义
int a=0;
double b=1.25;
char c='A';
#define d 2
则下面语句中错误的是( )。
A) a++; B) b++; C) c++; D) d++;
8. x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是
A) INPUT x、y、z; B) scanf("%d%d%d",&x,&y,&z);
C) scanf("%d%d%d",x,y,z); D) read("%d%d%d",&x,&y,&z);
9. 以下选项中不属于C语言的类型的是
A) signed short int B) unsigned longint
C) unsigned int D) long short
10. 有以下定义语句,编译时会出现编译错误的是
A)char a='a';
B)char a='\n';
C)char a=082;
D)char a='\x2d';
11. 设有以下函数
void fun(int n,char * s) {……}
则下面对函数指针的定义和赋值均是正确的是
A)void (*pf)();pf=fun;
B)void *pf();pf=fun;
C)void *pf();*pf=fun;
D)void(*pf)(int, char*);pf=&fun;
12. 下面结构体的定义语句中,错误的是
A)struct ord{int x;int y;int z;}; struct ord a;
B)struct ord{int x;int y;int z;} struct ord a;
C)struct ord{int x;int y;int z;} a;
D)struct {intx;int y;int z;} a;
13. 设有定义:char *c;,以下选项中能够使字符型指针c正确指向一个字符串的是
A)char str[ ]="string";c=str;
B)scanf("%s",c);
C)c=getchar();
D)*c="string";
14. 若有以下程序段
int r=8;
printf("%d\n", r>>1);
输出结果是
A)16
B)8
C)4
D)2
15. 以下叙述中错误的是( )。
A)用户定义的函数中可以没有return 语句
B)用户定义的函数中可以有多个return 语句,以便可以调用一次返回多个函数值
C)用户定义的函数中若没有return 语句,则应当定义函数为void 类型
D)函数的return 语句中可以没有表达式
二、填空题
1. 用户通过浏览器浏览网页时使用的协议为 。
2. 设 int x=1, y=1; 表达式(!x||y--)的值是_______。
3. 1G等于________字节
4. 64位处理器能够处理的最大数据为______________个字节。
5. C语言标准中,main函数的返回值类型为________,它有________个参数。
三、看程序写结果
1.
typedef struct
{
int num; double s;
}REC;
void fun1(REC x) { x.num = 23; x.s = 88.5; }
int main(int argc, char *argv[])
{
REC a = { 16,90.0 };
fun1(a);
printf("%d\n", a.num);
return 0;
}
2. int main(int argc, char *argv[]){
int v = 0;
int i = 0;
int a = 5;
int *p = &a;
*p = 3;
for (i = 0; i <a; i++){
switch (i){
case 0:
v += 0;
case 1:
v += 1;
case 2:
v += 2;
break;
case 3:
v += 3;
case 4:
v += 4;
default:
break;
}
}
printf("%d\r\n", v);
return 0;
}
三、编程题
1. 写一个函数,打印出1~100的数中,能被5整除,但是不能被3整除的数字。
2. 用编程方法,计算数列和: Sn = 1 + 2 + 3 + 4 + 5 + ... + 99 + 100,并打印结果。
3. 写一个函数,功能为判断一个数为奇数还是偶数。