一、选择题答案
1. 以下程序的输出结果是
main()
{ char st[20]= "hello\0\t\\\";
printf(%d %d \n",strlen(st),sizeof(st));
}
A) 9 9
B) 5 20
C) 13 20
D) 20 20
你所选择的答案是:*,正确答案是:B ×
2. 以下程序中,while循环的循环次数是
main()
{ int i=0;
while(i<10)
{ if(i<1) continue;
if(i==5) break;
i++;
}
......
}
A) 1
B) 10
C) 6
D) 死循环,不能确定次数
你所选择的答案是:*,正确答案是:D ×
3. 以下选项中,与k=n++完全等价的表达式是
A) k=n,n=n+1
B) n=n+1,k=n
C) k=++n
D) k+=n+1
你所选择的答案是:*,正确答案是:A ×
4. 有以下程序
main()
{ int aa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};
int i,s=0
for(i=0;i<4;i++) s+=aa[i][1];
printf("%d\n",s);
}
程序运行后的输出结果是
A) 11
B) 19
C) 13
D) 20
你所选择的答案是:*,正确答案是:B ×
5. 以下叙述中正确的是( )。
A) C语言比其他语言高级
B) C语言可以不用编译就能被计算机识别执行
C) C语言以接近英语国家的自然语言和数学语言作为语言的表达形式
D) C语言出现的最晚,具有其他语言的一切优点
你所选择的答案是:*,正确答案是:C ×
6. 若有以下程序段(n所赋的是八进制数)
int m=32767,n=032767
printf("%d,%o/n",m,n);
执行后输出结果是( )。
A) 32767,32767
B) 32767,032767
C) 32767,77777
D) 32767,077777
你所选择的答案是:*,正确答案是:A ×
7. 有以下程序
main()
{ int s=0,a=1,n;
scanf("%d",&n);
do
{ s+=1; a=a-2; }
while(a!=n);
printf("%d\n",s);
}
若要使程序的输出值为2,则应该从键盘给n输入的值是( )。
A)-1
B)-3
C)-5
D)0
你所选择的答案是:*,正确答案是:B ×
8. 设有以下定义
#define d 2
int a=0;
double b=1.25;
char c=’A’;
则下面语句中错误的是( )。
A) a++; B) b++ C) c++; D) d++;
你所选择的答案是:*,正确答案是:D ×
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. 若有以下说明和定义
union dt
{
int a; char b; double c;
}data;
以下叙述中错误的是 ( )。
A)data的每个成员起始地址都相同
B)变量data所占内存字节数与成员c所占字节数相等
C)程序段:data.a=5;printf("%f ",data.c);输出结果为5.000000
D)data可以作为函数的实参
你所选择的答案是:*,正确答案是:C ×
11. 以下能正确定义且赋初值的语句是( )。
A)int n1=n2=10; B
)char c=32;
C)float f=f+1.1; D)double x=12.3E2.5;
你所选择的答案是:*,正确答案是:B ×
12. 设有定义:int n1=0,n2,*p=&n2,*q=&n1;,以下赋值语句中与n2=n1;语句等价的是( )。
A)*p=*q; B)p=q; C)*p=&n1; D)p=*q;
你所选择的答案是:*,正确答案是:A ×
13. 设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为
A)EOF
B)非0值
printf函数的作用是向终端 C) 0
D)NULL
你所选择的答案是:*,正确答案是:B ×
14. 有以下程序
void change(int k[ ]){k[0]=k[5];}
main()
{int x[10]={1,2,3,4,5,6,7,8,9,10},n=0;
while(n<=4) {change(&x[n]);n++;}
for(n=0;n<5;n++) printf("%d",x[n]);
printf("\n");
}
程序运行后输出的结果是________。
A)678910 B)13579 C)12345 D)62345
你所选择的答案是:*,正确答案是:A ×
15. if语句的基本形式是:if(表达式)语句,以下关于"表达式"值的叙述中正确的是
A)必须是逻辑值
B)必须是整数值
C)必须是正数
D)可以是任意合法的数值
你所选择的答案是:*,正确答案是:D ×
16. 有以下程序
#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 ×
17. #include<stdio.h>
main()
{int a=1,b=0;
if(!a) b++;
else if(a==0)if(a)b+=2;
else b+=3;
printf("%d\n",b);
}
程序运行后的输出结果是
A)0
B)1
C)2
D)3
你所选择的答案是:*,正确答案是:A ×
18. 有以下程序
#include<stdio.h>
void fun(int x)
{if(x/2>1)fun(x/2);
printf("%d ",x);
}
main()
{fun(7);printf("\n");}
程序运行后的输出结果是
A)1 3 7
B)7 3 1
C)7 3
D)3 7
你所选择的答案是:*,正确答案是:D ×
19. 有以下程序
#include<stdio.h>
main()
{short c=124;
c=c____;
printf("%d\n",c);
}
若要使程序的运行结果为248,应在下划线处填入的是
A)>>2
B)|248
C)&248
D)<<1
你所选择的答案是:*,正确答案是:D ×
20. 以下关于C 语言的叙述中正确的是( )。
A)C 语言中的注释不可以夹在变量名或关键字的中间
B)C 语言中的变量可以在使用之前的任何位置进行定义
C)在C 语言算术表达式的书写中,运算符两侧的运算数类型必须一致
D)C 语言的数值常量中夹带空格不影响常量值的正确表示
你所选择的答案是:*,正确答案是:A ×
21. 有以下程序
#include <stdio.h>
main()
{
char a,b,c,d;
scanf("%c%c",&a, &b);
c=getchar(); d=getchar();
printf("%c%c%c%c\n",a,b,c,d);
}
当执行程序
时,按下列方式输入数据(从第1 列开始,<CR>代表回车,注意:回车也是一个字符)
12<CR>
34<CR>
则输出结果是( )。
A)1234 B)12
C)12 D)12
3 34
你所选择的答案是:*,正确答案是:C ×
22. 有以下程序,其中k 的初值为八进制数:
#include<stdio.h>
main()
{ int k=011;
printf("%d\n",k++);
}
程序运行后的输出结果是( )。
A)12 B)11
C)10 D)9
你所选择的答案是:*,正确答案是:D ×
23. 若有定义int (*pt)[3];,则下列说法正确的是( )。
A)定义了基类型为int 的三个指针变量
B)定义了基类型为int 的具有三个元素的指针数组pt
C)定义了一个名为*pt、具有三个元素的整型数组
D)定义了一个名为pt 的指针变量,它可以指向每行有三个整数元素的二维数组
你所选择的答案是:*,正确答案是:D ×
24. 有以下定义和语句:
struct workers
{int num;char name[20];char c;
struct
{ int day; int month; int year;} s;
};
struct workers w,*pw;
pw=&w;
能给w 中year 成员赋1980 的语句是( )。
A)*pw. year=1980; B)w. year=1980;
C)pw->year=1980; D)w. s. year=1980;
你所选择的答案是:*,正确答案是:D ×
二、填空题
1. 下面程序是指从终端读入的20个字符放入字符数组中,然后利用指针变量输出上述字符串,请填空。
#include <stdio.h>
main ()
{ int i; char s[21],*p;
for(i=0;i<20;i++)
s[i]=getchar();
s[i]=______;
p=s;
while(*p) putchar(*p++);
}
你所选择的答案是:,正确答案是:'\0' , ×
2. 以下程序段的输出结果是( )。
main ()
{int a=2,b=3,c=4;
a*=16+(b++)-(++c);
printf("%d",a);
}
你所选择的答案是:,正确答案是:28 , ×
3. C语言程序的注释可以出现在程序中的任何地方,一个注释以( )作为开始,以*/作为结束。
你所选择的答案是:,正确答案是:/* , ×
4. 若有以下定义语句:int a=5; printf("%d\n",a++); 则输出结果是____________。
你所选择的答案是:,正确答案是:5 , ×
5. 设x和y均为int型变量,且x=1,y=2,则表达式1.0+x/y的值为_____________。
你所选择的答案是:,正确常答案是:1.0 或 1, ×
6. 以下程序的输出结果是【 】 。
main()
{ char s[]="abcdef";
s[3]='\0';
printf("%s\n",s);
}
你所选择的答案是:,正确答案是:abc , ×
7. 以下程序运行后的输出结果是 [8] 。
main()
{ int x=10,y=20,t=0;
if(x==y)t=x;x=y;y=t;
printf("%d,%d
\n",x,y);
}
你所选择的答案是:,正确答案是:20,0 , ×
8. 执行以下程序后,输出'#'号的个数是 〖 〗 。
#include
main()
{ int i,j;
for(i=1; i<5; i++)
for(j=2; j<=i; j++) putchar('#');
}
你所选择的答案是:,正确答案是:6 , ×
9. 以下程序中给指针p分配三个double型动态内存单元,请填空。
#include
main ( )
{ double *p;
p=(double *) malloc(【 】);
p[0]=1.5;p[1]=2.5;p[2]=3.5;
printf(“%f%f%f\n”,p[0],p[1],p[2]);
}
你所选择的答案是:,正确常答案是:3*sizeof(double) 或 24, ×
10. 以下程序运行后的输出结果是 【 】
#define S(x) 4*x*x+1
main()
{
int i=6,j=8;
printf("%d ",S(i+j));
}
你所选择的答案是:,正确答案是:81 , ×
11. void prt(char ch,int n)
{ int i;
for(i=1;i<=n;i++)
printf(i%6!=0 ? "%c" : "%c\n",ch);
}
执行调用语句prt('*',24);后,函数共输出了 【 】 行*号。
你所选择的答案是:,正确答案是:4 , ×
12. 以下程序运行后的输出结果是 【 】 。
#include "stdio.h"
main()
{ int x=10,y=20,t=0;
if(x==y)t=x;x=y;y=t;
printf("%d %d\n",x,y);
}
你所选择的答案是:,正确答案是:20 0 , ×
13. 己知a所指的数组中有N个元素。函数fun的功能是,将下标k(k>0)开始的后续元素全部向前移动一个位置。请在【 】处填空。
void fun(int a[N],int k)
{ int i;
for(i=k;i>=0;k--)
a[【 】]=a[k];
}
你所选择的答案是:,正确答案是:k-1 , ×
14. 以下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, ×
15. 有以下程序
#include<stdio.h>
int*f(int *p,int*q);
main()
{int m=1,n=2,*r=&m;
r=f(r,&n);printf("%d\n",*r);
}
int*f(int *p,int*q)
{return(*p>*q)?p:q;}
程序运行后的输出结果是【 】
你所选择的答案是:,正确答案是:2 , ×
16. 以下程序的功能是:借助指针变量出数组元素中最大值所在的位置并输出该最大值。请在输出语句中填写代表最大值的输出项。
#include<stdio.h>
main()
{int a[10],*p,*s;
for(p=a;p-a<10;p++)scanf("%d",p);
for(p=a,s=a;p-a<10;p++)if(*p>*s)s=p;
printf("max=%d\n",【 】);
}
你所选择的答案是:,正确答案是:*s , ×
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论