一、选择题答案
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小时内删除。