1.若有如下程序:
void s(char *m,int n)
{*m=*m+3;n=n+3;
printf("%c,%c,",*m,n);}
main()
{char p=′b′,q=′B′;
s(&q,p);
printf("%c,%c\n",p,q);}
则程序运行后的输出结果是()
A)E,e,b,E
B)e,E,b,F
C)E,e,e,E
D)e,E,b,E
2.在C语言的函数中()
A)必须有形参
B)形参必须是变量名
C)可以有也可以没有形参
D)数组名不参与形参
3.若有如下程序:
sub(int *t,int n)
{int *p1,*p2;
for(p1=t,p2=t;p1-t<n;p1++)
if(*p1<*p2)p2=p1;
return(*p2); }
main()
{int a[9]={9,36,19,39,26,5,6,33,15};
printf("%d\n",sub(a,9)); }
则程序运行后的输出结果是()
A)5
B)9
C)15
D)39
4.在表示C语言的整型变量时,表示“无符号整型”的符号是()
A)unsigned int
B)unsigned short
C)long int
D)unsigned long
5.以下程序段给数组所有的元素输入数据,请选择正确答案填入。()
#include<stdio.h>
main()
{ int a[10],i=0;
while(i<10) scanf("%d",);
…
}
A)a+(i++)
B)&a[i+1]
C)a+i
D)&a[i++]
6.若输入60和13,以下程序的输出结果为()
#define SURPLUS(a,b)((a)%(b))
main()
{ int a,b;
scanf("%d,%d",&a,&b);
printf("\n",SURPLUS(a,b));
}
A)60
B)13
C)73
D)8
7.在下列叙述中,正确的一条是()
A)语句int *pt中的*pt是指针变量名
B)语句“int *p=a;”等价于“int *p;p=&a[0];”
C)运算符*和&都是取变量地址的运算符
D)已知指针变量p指向变量a,则&a和*p值相同,都是变量a的值
8.设有定义:#defineSTR"12345";,则以下叙述中正确的是()
A)宏名STR代替的是数值常量12345
B)宏定义以分号结束,编译时一定会产生错误信息
C)宏名STR代替的是字符串"12345";
D)宏名STR代替的是字符串常量"12345"
9.fprintf函数的一般调用方式是()
A)fprintf(格式字符串,文件指针,输出表列);
B)fprintf(文件指针,格式字符串,输出表列)
C)fprintf(文件指针,格式字符串,输出表列);
D)fprintf(fp,格式字符串,输出表列);
10.函数调用语句:fseek(fp,-20L,SEEK_END);的含义是()
A)将文件位置指针移到距离文件头20个字节处
B)将文件位置指针从当前位置向后移动20个字节
C)将文件位置指针从文件末尾处向后退20个字节
D)将文件位置指针移到离当前位置20个字节处
答案:1.A 2.C 3.A 4.A 5.D 6.D 7.D 8.C 9.C 10.C