一、选择题答案
1. 以下程序的输出结果是
main()
{ int i, k, a[10], p[3];
k=5;
for (i=0;i<10;i++) a[i ]=i;
for (i=0;i<3;i++) p[i ]=a[i *(i+1)];
for (i=0;i<3;i++) k+=p[i] *2;
printf("%d\n",k);
}
A) 20
B) 21
C) 22
D)23
你所选择的答案是:*,正确答案是:B ×
2. 以下选项中,非法的字符常量是
A) '\t'
B) '\17'
C)"n"
D) '\xaa'
你所选择的答案是:*,正确答案是:C ×
3. 以下程序的输出的结果是
int x=3;
main()
{
void ncre();
int i;
for(i=1;i<x;i++) ncre();
}
void ncre()
{
static int x=1;
x*=x+1;
printf("%d",x);
}
A) 3 3
B) 2 2
C) 2 6
D) 2 5
你所选择的答案是:*,正确答案是:C ×
4. 若有以下说明和定义
typedef int *INTEGER;
INTEGER p,*q;
以下叙述正确的是
A) P是int型变量
B) p是基类型为int的指针变量
C) q是基类型为int的指针变量
D) 程序中可用INTEGER代替int类型名
你所选择的答案是:*,正确答案是:B ×
5. 下列关于C语言用户标识符的叙述中正确的是
A)用户标识符中可以出现在下划线和中划线(减号)
B)用户标识符中不可以出现中划线,但可以出现下划线
C)用户标识符中可以出现下划线,但不可以放在用户标识符的开头
D)用户标识符中可以出现在下划线和数字,它们都可以放在用户标识符的开头
你所选择的答案是:*,正确答案是:B ×
6. 有以下程序
main()
{ int k=4,n=0;
for( ; n { n++;
if(n%3!=0) continue;
k--; }
printf("%d,%d\n",k,n);
}
程序运行后的输出结果是( )。
A)1,1
B)2,2
C)3,3
D)4,4
你所选择的答案是:*,正确答案是:C ×
7. 以下4个选项中,不能看作一条语句的是( )。
A) {;} B) a=0,b=0,c=0; C) if(a>0); D) if(b==0) m=1;n=2;
你所选择的答案是:*,正确答案是:D ×
8. 以下叙述中正确的是 ( )。
A)用C程序实现的算法必须要有输入和输出操作
B)用C程序实现的算法可以没有输出但必须要有输入
C)用C程序实现的算法可以没有输入但必须要有输出
D)用C程序实现的算法可以既没有输入也没有输出
你所选择的答案是:*,正确答案是:C ×
9. 若整型变量a、b、c、d中的值依次为:1、4、3、2。则条件表达式a<b?a:c<d?c:d的值 ( )。
A)1
B)2
C)3
D)4
你所选择的答案是:*,正确答案是:A ×
10. 有以下程序
#define P 3
#define F(int x) { return (P*x*x);}
main()
{
printf("%d ",F(3+5));
}
程序运行后的输出结果是 ( )。
A)192
B)29
C)25
D)编译出错
你所选择的答案是:*,正确答案是:D ×
11. 有以下函数
fun(char *a,char *b)
{
while((*a!='')&&(*b!='
')&;&(*a==*b))
{ a++; b++;}
return (*a-*b);
}
该函数的功能是 ( )。
A)计算a和b所指字符串的长度之差
B)将b所指字符串复制到a所指字符串中
C)将b所指字符串连接到a所指字符串后面
D)比较a和b所指字符串的大小
你所选择的答案是:*,正确答案是:D ×
12. 以下关于函数的叙述中正确的是( )。
A)每个函数都可以被其它函数调用(包括main函数)
B)每个函数都可以被单独编译
C)每个函数都可以单独运行
D)在一个函数内部可以定义另一个函数
你所选择的答案是:*,正确答案是:B ×
13. 有以下程序
main()
{
char s[]= "abcde";
s+=2;
printf("%d\n",s[0]);
}
执行后的结果是________。
A)输出字符a的ASCII码
B)输出字符c的ASCII码
C)输出字符c
D)程序出错
你所选择的答案是:*,正确答案是:D ×
14. 有以下程序
#include <string.h>
main(int argc,char *argv[])
{int i=1,n=0;
while(i<argc)
{
n=n+strlen(argv[i]);
i++;
}
printf("%d\n",n);
}
该程序生成的可执行文件名为:。若运行时输入命令行:
proc 123 45 67
则程序的输出结果是________。
A)3 B)5 C)7 D)11
你所选择的答案是:*,正确答案是:C ×
15. 有以下程序
#include "stdio.h"
main()
{ char b,c; int i;
b='a'; c='A';
for(i=0;i<6;i++)
{ if(i%2) putchar(i+b);
else putchar(i+c);
} printf("\n");
}
程序运行后的输出结果是
A)ABCDEF
B)AbCdEf
C)aBcDeF
D)abcdef
你所选择的答案是:*,正确答案是:B ×
16. 有以下程序
#include "stdio.h"
struct ord
{ int x,y;}dt[2]={1,2,3,4};
main()
{
struct ord *p=dt;
printf("%d,",++(p->x)); printf("%d\n",++(p->y));
}
程序运行后的输出结果是
A)1,2
B)4,1
C)3,4
D)2,3
你所选择的答案是:*,正确答案是:D ×
17. 有以下程序
#include<stdio.h>
int f(int x);
main()
{int n=1,m;
m=f(f(f(n)));printf("%d\n",m);
}
int f(int x)
{return x*2;}
程序运行后的输出结果是
A)1
B)2
C)4
D)8
你所选择的答案是:*,正确答案是:D ×
18. 有以下程序
#include<stdio.h>
main()
{int s,t,A=10;double B=6;
s=sizeof(A);t=sizeof(B);
printf("%d,%d\n",s,t);
}
在VC6平台上编译运行,程序运行后的输出结果是
A)2,4
B)4,4
C)4,8
D)10,6
你所选择的答案是:*,正确答案是:C ×
19. 若有以下语句
typedef struct S
{int g; char h;}T;
以下叙述中正确的是
A)可用S定义结构体变量
B)可用T定义结构体变量
C)S是struct类型的变量
D)T是struct S类型的变量
你所选择的答案是:*,正确答案是:D ×
20. 以下C 语言用户标识符中,不合法的是( )。
A)_1 B)AaBc
C)a_b D)a-
-b
你所选择的答案是:*,正确答案是:D ×
21. 若有定义:double a=22;int i=0,k=18;,则不符合C 语言规定的赋值语句是( )。
A)a=a++,i++; B)i=(a+k)<=(i+k);
C)i=a%11; D)i=!a;
你所选择的答案是:*,正确答案是:C ×
22. 若a 是数值类型,则逻辑表达式 (a==1) || (a!=1) 的值是( )。
A)l B)0
C)2 D)不知道a 的值,不能确定
你所选择的答案是:*,正确答案是:A ×
23. 以下选项中与if(a==1)a=b;else a++;语句功能不同的switch 语句是( )。
A)switch(a) B)switch(a==1)
{case 1;a=b;break; {case 0:a=b;break;
default:a++; case 1:a++;
} }
C)switch(a) D)switch(a==1)
{default:a++;break; {case 1:a=b;break;
case 1:a=b; case 0:a++;
} }
你所选择的答案是:*,正确答案是:B ×
24. 有以下程序:
#include <stdio.h>
main()
{ int a[5]= {1,2,3,4,5},b[5]={0,2,1,3,0},i,s=0;
for(i=0;i<5;i++) s=s+a[b[i]];
printf("%d\n",s);
}
程序运行后的输出结果是( )。
A)6 B)10
C)11 D)15
你所选择的答案是:*,正确答案是:C ×
二、填空题
1. 若想通过以下输入语句使a中存放字符串1234,b中存放字符5,按照scanf语句的格式输入数据应该是( )
…….
char a [10],b;
scanf("a=%s,b=%c",a,&b);
……
你所选择的答案是:,正确答案是:a=1234,b=5 , ×
2. 该程序运行的结果是( )。
#define M 100
void fun(int m, int *a, int *n)
{ int i,j=0;
for(i=1;i<=m;i++)
if(i%7==0||i%11==0)
a[j++]=i;
*n=j;
}
main()
{ int aa[M],n,k;
fun(10,aa,&n);
for(k=0;k<n;k++)
if((k+1)%20==0) printf("\n");
else printf("%4d",aa[k]);
printf("\n");}
你所选择的答案是:,正确答案是:7 , ×
3. 下列程序的功能是:求出ss所指字符串中指定字符的个数,并返回此值。给程序填空。
例如,若输入字符串123412132,输入字符1,则输出3,请填空。
#include <conio.h>
#include <stdio.h>
#define M 81
int fun(char *ss,char c)
{ int i=0;
for(; _____________;ss++)
if(*ss==c) i++;
return i;}
main()
{char a[M],ch;clrscr();字符串复制函数
printf("\nPlease enter a string:");gets(a);
printf("\nPlease enter a char."); ch=getchar();
printf("\nThe number of the char is:%d\n",fun(a,ch));}
你所选择的答案是:,正确答案是:*ss!='\0' , ×
4. 下面程序是指从终
端读入的20个字符放入字符数组中,然后利用指针变量输出上述字符串,请填空。
#include <stdio.h>
main ()
{ int i; char s[21],*p;
for(i=0;i<20;i++)
s[i]=getchar();
s[i]='\0';
p=_____;
while(*p) putchar(*p++);
}
你所选择的答案是:,正确答案是:s , ×
5. 以下程序输出的结果是( )。
main()
{ int a=5,b=4,c=3,d;
d=(a>b>c);
printf("%d\n",d);
}
你所选择的答案是:,正确答案是:0 , ×
6. mystrlen函数的功能是计算str所指字符串的长度,并作为函数值返回。请填空。
int mystrlen(char *str)
{ int i;
for(i=0;_____!= ′\0′;i++);
return(i);
}
你所选择的答案是:,正确常答案是:*(str+i) 或 str[i], ×
7. strcmp函数的功能是字符串的( )。
你所选择的答案是:,正确答案是:比较 , ×
8. 下列程序的输出结果是16.00,请填空。。
main()
{ int a=9, b=2;
float x= 【 】 , y=1.1,z;
z=a/2+b*x/y+1/2;
printf("%5.2f\n", z );
}
你所选择的答案是:,正确答案是:6.6 , ×
9. 有以下程序
void f( int y,int *x)
{y=y+*x; *x=*x+y;}
main( )
{ int x=2,y=4;
f(y,&x);
printf(“%d %d\n”,x,y);
}
执行后输出的结果是【 】 。
你所选择的答案是:,正确答案是:8 4 , ×
10. 已知字母A的ASCII码为65。以下程序运行后的输出结果是 【 】 。
main()
{ char a, b;
a='A'+'5'-'3'; b=a+'6'-'2' ;
printf("%d %c\n", a, b);
}
你所选择的答案是:,正确答案是:67 G , ×
11. 以下程序运行后的输出结果是 【 】 。
#include "stdio.h"
main()
{ int a;
a=(int)((double)(3/2)+0.5+(int)1.99*2);
printf("%d\n",a);
}
你所选择的答案是:,正确答案是:3 , ×
12. 有以下程序,请在 【 】 处填写正确语句,使程序可正常编译运行。
#include "stdio.h"
【 】(double a,double,b);
main()
{ double x,y,(*p)();
scanf("%lf%lf",&x,&y);
p=avg;
printf("%f\n",(*p)(x,y));
}
double avg(double a,double b)
{ return((a+b)/2);}
你所选择的答案是:,正确答案是:double avg , ×
13. 以下程序运行后的输出结果是 【 】 。
#include "stdio.h"
main()
{ FILE *fp; int x[6]={1,2,3,4,5,6},i;
fp=fopen("test.dat","wb");
fwrite(x,sizeof(int),3,fp);
rewind(fp);
fread(x,sizeof(int),3,fp);
for(i=0;i<6;i++) printf("%d",x[i]);
printf("\n");
fclose(fp);
}
你所选择的答案是:,正确答案是:123456 , ×
14. 在C语言中,当表达式值为0时表示逻辑值"假",当表达式值为【 】时表示逻辑值"真"。
你所选择的答案是:,正确常答案是:非0 或 非零, ×
15. 以下fun函数的功能是:出具有N个元素的一维数组中的最小
值,并作为函数值返回。请填空。(设N已定义)
int fun(int x[N])
{int i,k=0,min;
min=x[k];
for(i=0;i<N;i++)
if(______)
min=x[i];
return min;
}
你所选择的答案是:,正确常答案是:x[i]<min 或 x[i]<=min, ×
16. 以下程序打开新文件f.txt,并调用字符输出函数将a数组中的字符写入其中,请填空。
#include<stdio.h>
main()
{【 】 *fp;
char a[5]={'1','2','3','4','5'},i;
fp=fopen("f .txt","w");
for(i=0;i<5;i++)fputc(a[i],fp);
fclose(fp);
}
你所选择的答案是:,正确答案是:FILE , ×
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论