6.若整型变量K为奇数,则使以下表达式的值为0的是。
A)K%2B)2*K/2!
=KC)K%2==0D)K%2!
=0
7.对以下程序段的输出结果是。
intx=4;
do
{x--;
if(x==2)continue;
printf("x=%d",x);
}while(x>0);
A)x=4x=3x=1B)x=3x=1C)x=3x=1x=0D)x=3
8.若k=10;则执行下列程序后,变量k的正确结果是。
switch(k)
{
case9:
k++;
case10:
k+=1;
case11:
k+=1;break;
default:
k+=4;
}
A)12B)13C)14D)11
9.已有定义inti;charstr[10];
为了给str数组元素赋值,以下不正确的语句是。
A)str[]=”shenzhen”;
B)str=”shnzhen”;
C)str[10]=”shenzhen”;
D)for(i=0;i<10;i++)str[i]=getchar();
10.以下不正确的数组定义是_______。
A)inta[]={5,4,3,2};
B)floata[5]={1,2.0,3};
C)doublea[][4]={{0.7},{0,0},{2}};
D)inta[3][]={{7},{0,0},{2}};
11.以下关于函数描述错误的是。
A)在C语言程序中,要调用的函数必须在main()函数中定义。
B)函数的形式参数是局部变量。
C)一个函数内部定义的变量只能在本函数范围内有效。
D)函数体内可以调用函数,但函数体内不可以定义函数。
12.以下描述正确的是。
A)所有静态变量的作用域都是全局的。
B)内部静态变量与自动变量的唯一区别是生存期不同。
C)内部或外部静态变量的初始化都只有一次。
D)所有在函数体内定义的变量,都是内部变量。
当被调函数执行完毕返回主调函数时,所有内部变量都要释放所占内存。
13.如下定义函数的功能是。
intabc(inta,intb,intc)
{if(a>b)
if(a>c)returna;
elsereturnc;
elseif(b>c)returnb;
returnc;
}
A)如果a最大,返回a的值,否则,返回c的值。
B)比较三个参数的大小,返回其中最大值。
C)返回值是参数a,c中的较大者。
D)返回值是参数b,c中的较大者。
14.已知int*p,a;则语句p=&a;中的运算符&的含义是。
A)位与计算B)逻辑与运算
C)取指针内容D)取变量地址
15.已有定义chars[10],*p=s,则在下列语句中,错误的语句是。
A)p=s+5;B)s=p+s;C)s[2]=p[4];D)s[0]=*p=’A’;
16.设有说明int(*ptr)[10];其中的标志符ptr是。
A)10个指向整型变量的指针
B)指向10个整型变量的函数指针
C)一个指向具有10个整型元素的一维数组的指针变量。
D)具有10个指针元素的一维指针数组,每个元素都只能指向整型变量
17.已有charstr[]=”WELCOME!
”;以下对指针变量ps的定义和初始化正确的是。
A)charps=str;B)char*ps=str;
B)charps=&str;D)char*ps=&str;
18.已有定义.
structstudent
{intage;
intnum;
}stu1,*p=&stu1;
以下对结构体变量stu1中成员age的非法引用是________。
A)stu1.ageB)student.ageC)p->ageD)(*p).age
19.若有宏定义如下:
#defineX5
#defineYX+1
#defineZY*X/2
则执行以下语句序列后,输出结果是_______。
inta;
a=Y;
printf("Z=%da=%d\n",Z,a);
A)Z=15a=6B)Z=7a=6C)Z=7a=5D)Z=15a=5
20.在文件使用方式中,字符串″rb″表示。
A)打开一个文本文件,只能写入数据
B)打开一个已存在的文本文件,只能读取数据
C)打开一个二进制文件,只能写入数据
D)打开一个已存在的二进制文件,只能读取数据
1.结构化程序设计的中心思想是。
A)信息的封装和隐藏。
B)代码重用,减少软件的开发时间。
C)高效地完成任务:
运行时间最短和资源消耗最少
D)自顶往下,逐步求精的模块化程序设计。
2.以下对C语言中的用户定义标识符的完整描述是。
A)必须为字母数字和下划线三种字符组成。
B)必须由字母、数字和下划线三种字符组成,第一个字符必须为字母或下划线。
C)必须由字母、数字和下划线三种字符组成,第一个字符必须为字母或下划线,且不要和C的保留字相同。
D)必须为字母和数字字符组成,且不要和C的保留字相同。
3.下列表达式的值非0的是。
A)2/5B)9%3C)2<9?
0:
1D)2-5&&6-9
4.若变量已正确定义并赋值,以下符合C语言语法的表达式是。
A)b:
=c+4B)a+=b/=c+2
C)12=a+=3D)a+7=c+b
5.若变量已定义inta,b,c;执行语句a=(b=c=3,c+2,b+=c);则a的值是。
A)3B)5C)6D)8
6.若有定义:
inta=7;floatx=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4
的值是。
A)2.500000B)2.750000C)3.500000D)0.000000
7.以下程序段的运行结果是输出。
charch='A';
while(ch<='A'+4)
{ch++;
if(ch=='B')continue;
putchar(ch);
}
A)BB)ACDC)CDEFD)ACDEF
8.若n=5;则执行下列程序后,变量n的正确值是。
switch(n)
{case5:
n++;
case6:
n+=2;break;
case11:
n=1;
default:
n=4;
}
A)8B)6C)5D)4
9.以下程序执行后的输出结果是。
#include
main()
{inti,sum=0,num[11]={0,1,2,3,4,5,6,7,8,9,10};
for(i=1;i<10;i+=2)
sum+=num[i+1];
printf("sum=%d\n",sum);
}
A)自然数1~11的累加和B)自然数1~10的累加和
C)自然数1~11中的奇数之和D)自然数1~10中的偶数之和
10.以下对二维数组a的正确定义是________.
A)intn=6,a[3][n];B)floata[3,4];
C)doublea[][4]={{1.2},{0,0.0}};D)inta[3][];
11.以下关于函数描述错误的是。
A)函数返回值的类型,是由定义函数时所指定的函数类型决定的
B)C语言程序总是从第一个定义的函数开始执行
C)C语言程序总是从main()函数开始执行
D)函数的体内可以有函数的说明(原型),但不可以有函数的定义。
12.以下关于变量描述错误的是
A)外部变量的作用域为本程序的全部范围。
B)不同函数中可以使用相同的变量名。
C)所有在函数体内定义的变量,都是内部变量。
当被调函数执行完毕返回主调函数时,所有内部变量都要释放所占内存。
D)静态变量的初始化只有一次。
13.如下定义函数的功能是。
intabc(inta,intb,intc)
{a=a>b?
a:
b;
return(c>a?
c:
a);
}
A)比较三个参数的大小,返回其中最大值。
B)比较三个参数的大小,返回其中最小值。
C)返回值是参数a,c中的较大者。
D)判断最后一个参数C是否为最大值。
14.设有定义:
inta,*pa=&a;以下scanf语句中能正确为变量a输入数据的是.
A)scanf("%d",pa);B)scanf("%d",a);
C)scanf("%d",&pa);D)scanf("%d",*pa);
15.已有定义a[10],*p=a则在下列语句中,错误的语句是。
A)p=a+6;B)a=p++;C)a[2]=*p;D)*p=a[0]=10;
16.已知inta[]={1,2,3,4,5,6,7,8,9,10,11,12},*p=a;则值为3的表达式是。
A)p+=2,*(p++)B)p+=2,*++p
C)p+=3,*p++D)p+=2,++*p
17.已有floatarf[]={1,2,3,4,5};对指针变量ps的定义和初始化正确的是。
A)charps=arf;B)char*ps=arf;
B)charps=&arf;D)char*ps=&arf;
18.对以下结构体变量bk1中成员pages的非法引用是________.
structbook
{chartitle[30];
intpages;
}bk1,*p=&bk1;
A)bk1.pagesB)book.pagesC)p->pagesD)(*p).pages
19.以下程序的输出是。
#defineY7+1
#defineZY*Y/2
main()
{inta;
a=Y;
printf("Z=%da=%d\n",Z,a);
}
A)Z=24a=8B)Z=14a=8C)Z=23a=8D)Z=32a=8
20.C语言可以处理的文件类型是。
A)文本文件和数据文件B)文本文件和二进制文件
C)数据文件和二进制文件D)以上答案都不完全
判断程序输出:
1.
#include
#defineN4
voidmain()
{
intirow,icol;
for(irow=0;irow{
for(icol=0;icolprintf("");
for(icol=0;icolprintf("*");
printf("\n");
}
}
2
#include
#include
voidDelete(charstr[]);
voidmain()
{
charname[][10]={"z34hang","89lu","ming432"};
inti;
for(i=0;i<3;i++)
{
Delete(name[i]);
puts(name[i]);
}
}
voidDelete(charstr[])
{
inti=0,j,len;
while(str[i]!
='\0')
{
if(str[i]>='0'&&str[i]<='9')
{
len=strlen(str);
for(j=i;jstr[j]=str[j+1];
str[j]='\0';
}
else
str[i++];
}
}
3
#include
#defineN3
voidmain()
{
inti;
floataver[40]={0};
structstud
{
intno;
floateng;
floatmath;
floatcomp;
}student[40]={{23,90,85,80},{24,70,90,80},{25,100,78,86}};
for(i=0;i{
printf("%4d%7.1f",student[i].no,student[i].eng);
printf("%7.1f%7.1f",student[i].math,student[i].comp);
printf("%7.1f\n",(student[i].eng+student[i].math+student[i].comp)/3);
aver[0]+=student[i].eng;
aver[1]+=student[i].math;
aver[2]+=student[i].comp;
}
printf("%4c",'');
for(i=0;iprintf("%7.1f",aver[i]/N);
printf("\n");
}
4
#include
voidmain()
{
inti,a[8]={-1},*p=a;
for(i=1;i<8;i++)
*(p+i)=i;
for(++p;pif(!
(*p%2))
printf("a[%d]=%d\n",p-a,*p);
}
5
#include
voidmain()
{
inti,j;
for(i=5;i>0;i--)
{
for(j=i;j>0;j--)
printf("*");
printf("\n");
}
}
6
#include
voidauto_static(void)
{
intvar_auto=0;
staticintvar_static=0;
printf("var_auto=%d,var_static=%d\n",var_auto,var_static);
++var_auto;
++var_static;
}
main()
{
inti;
for(i=0;i<4;i++)auto_static();
}
7
#include
voidmain()
{
charstr[][20]={"Beijing","ShangHai","WuHan","ChangSha"};
inti;
for(i=0;i<=3;i++)
switch(i)
{
case0:
puts(str[0]);
case1:
puts(str[i]);break;
default:
puts(str[i]);
}
}
8
#include
voidmain()
{
FILE*fp;
charc;
intk,count[4]={0};
fp=fopen("f.txt","r");
while(!
feof(fp))
{
c=fgetc(fp);
if(c>='a'&&c<='z')
count[0]++;
elseif(c>='A'&&c<='Z')
count[1]++;
elseif(c>='0'&&c<='9')
count[2]++;
elseif(c=='#')
count[3]++;
}
for(k=0;k<4;k++)
printf("count[%d]=%d\n",k,count[k]);
}
假设文件f.txt的内容为:
f6FDfds234343。
假设文件打开成功。
9
#include
voidmain()
{
inti,j;
for(i=0;i<4;i++)
{
for(j=i;j>=i;j--)
printf("*");
printf("\n");
}
}
10
#include
voidmain()
{
inti,a[10]={-1},*p=a;
for(i=1;i<10;i++)
*(p+i)=i;
for(;pif(!
(*p%2))
printf("a[%d]=%d\n",p-a,*p);
}
11
#include
intfun(intx,inty)
{
staticintm=0,i=2;
i+=m+1;
m=i+x+y;
return(m);
}
voidmain()
{
intk=4,m=1,i;
for(i=0;i<4;i++)
printf("fun(%d,%d)=%d\n",k,m,fun(k,m));
}
12
#include
voidmain()
{
inta[][4]={{1,2,3,4},{2,3,4,5},{3,4,5,6},{4,5,6,7};
intb[4][4]={1,2,3,4,1,5,6};
inti,j,c[4][4];
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
c[i][j]=a[i][j]+b[i][j];
if(j==3)
printf("%4d\n",c[i][j]);
else
printf("%4d",c[i][j]);
}
}
}
13
#include
voidmain()
{inti,j;
for(i=1;i<5;i++)
{for(j=1;j<=i;j++)
printf("*");
printf("\n");
}
}
14
#include
intfun(intn)
{
staticintk=1;
k=k*n;
returnk;
}
main()
{inti;
for(i=1;i<=3;i++)
printf("result=%d\n",fun(i));
}
15
#include
voidrvrs(char*str)
{intk=0,i;
char*p=str,c;
while(*p++)k++;
for(i=0;i{c=*(str+i);
*(str+i)=*(str+k-1-i);
*(str+k-1-i)=c;
}
}
voidmain()
{charcity[20]="Shenzhen";
rvrs(city);
printf("Result:
%s\n",city);
}