C语言程序设计模拟题(3)

2019-03-03 22:10

}

printf(\ }

A)v1=4,v2=2,v3=1,v4=1 B)v1=4,v2=9,v3=3,v4=1 C)v1=5,v2=8,v3=6,v4=1 D)v1=8,v2=8,v3=8,v4=8 (29)下面程序的输出是__D____。 main( ) { int k=11;

printf(\ }

A)k=11,k=12,k=11 B)k=11,k=13,k=13 C)k=11,k=013,k=0xb D)k=11,k=13,k=B (30)下面程序段中 c 的二进制值是__B____。 char a=3,b=6,c; c=a^b<<1;

A)00001011 B)00001111 C)00011110 D)00011100 (31)以下叙述中正确的是__C____。 A)C 语言比其他语言高级

B)C 语言可以不用编译就能被计算机识别执行

C)C 语言以接近英语国家的自然语言和数学语言作为语言的表达形式 D)C 语言出现的最晚,具有其他语言的一切优点 (32)下列可用于 C 语言用户标识符的一组是__B____。

A)void define WORD B)a3_b3 _123 Car C)For -abc IFCase D)2a DO sizeof (33)请选出正确的程序段__C____。

A)int *p B)int *s,k; scanf(\ *s=100; …… …… C)int *s,k; D)int *s,k; char *p,c; char *p,e; s=&k; s=&k; p=&c; p=&c; *p='a'; s=p; …… *s=1; …… 二、填空题

(1)下面程序的输出是 【____12______】 。 main( )

{int arr[10],i,k=0; for(i=0;i<10;i++) arr[i]=i; for(i=1;i<4;i++) k+=arr[i]+i; printf(\

(2)若a=10,b=20,则表达式!(a

int fa(int x) {return x*x;} int fb(int x) {return x*x*x;}

int f(int(*f1)(),int(*f2)(),int x)

{return f2(x)-f1(x);} main()

{int i;i=f(fa,fb,2);printf(\

程序运行后,输出结果是 【______4_______】 。

(4)若想通过以下输入语句使a=5.0,b=4,c=3,则输入数据的形式应该是 【__5,4,c=3___】 int b,c; float a;

scanf(\

(5)下列程序的输出结果是 【___5 6____】 。 int t(int x,int y,int cp,int dp) { cp=x * x+y*y; dp=x*x-y*y; }

main( )

{ int a=4,b=3,c=5,d=6; t(a,b,c,d);

。 printf(\ %d\\n\ }

(6)下面程序的输出结果是 【___GGGH_____】 。 char b[]=\ main() {

char b[30];

strcpy(&b[0],\ strcpy(&b[1],\ strcpy(&b[2],\ printf(\ }

(7)下述函数用于统计一行字符中的单词个数,单词之间用空格分隔。 word_num(char str[]) {int i,num=0,word=0;

for(i=0;str[i]!= 【__’\\0’____】 ;i++)

if( 【__str[i]____】 ==' ')word=0; else if(word==0) { word=1;

【_num++__】 ; }

return(num); }

(8)有一个已排好序的数组,今输入一个数,要求按原来的顺序规律将它插入到数组中。 算法是:假设排序顺序是从小到大,对输入的数,检查它在数组中哪个数之后,然后 将比这个数大的数顺序后移一个位置,在空出的位置上将该数插入。请在程序中的空 白处填上一条语句或一个表达式。 #define N 100 main()

{ float a[N+1],x; int i,p;

for(i=0;i

scanf(\ scanf(\ for(i=0,p=N;i { 【___p=i____】 ; break;}

for(i=N-1; 【___i>=p_____】 ;i--) a[i+1]=a[i]; a[p]=x;

for(i=0; 【____i<=N_____】 ;i++) { printf(\ if(i%5==0) printf(\ } }

一、选择题

(1)下列语句中符合 C 语言语法的赋值语句是__D____。 A)a=7+b+c=a+7 B)a=a+7

C)a=7+b,b++,a+7; D)a=7+b,c=a+7; (2)下面程序 main( ) { int y=9;

for(;y>0;y--){ if(y%3==0)

{ printf(\ continue; } } }

的输出是__B__。

A)741 B)852 C)963 D)875421 (3)下列四个叙述中,错误的是___B___。 A)C 语言中的关键字必须小写

B)C 语言中的标识符必须全部由字母组成 C)C 语言不提供输入输出语句

D)C 语言中的注释行可以出现在程序的任何位置 (4)下面程序 main( ) {

int a=-1,b=4,k;

k=(a++<=0)&&(!(b--<=0) ); printf(\ }

的输出是__C____。

A)0 0 3 B)0 1 2 C)1 0 3 D)1 1 2 (5)以下叙述中正确的是__C____。

A)预处理是指完成宏替换和文件包含中指定文件的调用 B)预处理也是C 语句

C)C 源程序中,凡是行首以#标识的控制行都是预处理指令

D)预处理就是完成 C 编译程序对 C 源程序的第一遍扫描,为编译的词法分析和语法分析作准备 (6)下面的程序片段 y=-1; if (x!=0)

if(x>0) y=1;

else y=0;

所表示的数学函数关系是__C____。

-1 (x<0) 1 (x<0) A) y= 0 (x=0) B) y= -1 (x=0) 1 (x>0) 0 (x>0) 0 (x<0) -1 (x<0) C) y= -1 (x=0) D) y= 1 (x=0) 1 (x>0) 0 (x>0) (7)下面的程序的运行结果是___D____。 main( )

{ int x=3,y=0,z=0;

if(x=y+z)printf(\ else printf(\ }

A)有语法错误不能通过编译 B)输出* * * *

C)可以通过编译, 但是不能通过连接, 因而不能运行 D)输出####

(8)在 C 语言中,合法的长整型常数是_A____。

A)0L B)4962710 C)04312765 D)0xa34b7fe (9)下面函数

int fun1(char*x) { char *y=x;

while(*y++);

C语言程序设计模拟题(3)

return(y-x-1);

} 的功能是__A____。

A)求字符串的长度 B)比较两个字符串的大小

C)将字符串 x 复制到字符串 y D)将字符串 x 连接到字符串 y 后面 (10)设 int i=2,j=1,k=3,则表达式 i&&(i+j)&k|i+j 的值是___C___。 A)0 B)2 C)1 D)3 (11)已知字母 A 的 ASCII 码为十进制的 65,下面程序 main( )

{ char ch1,ch2; ch1='A'+'5'-'3'; ch2='A'+'6'-'3';

printf(\ }

的输出是__A____。

A)67,D B)B,C C)C,D D)不确定的值 (12)以下程序的输出结果是_B_____。 #include main( )

{ int a,b,d=241; a=d/100%9; b=(-1)&&(-1);

printf(\ }

A)6,1 B)2,1 C)6,0 D)2,0 (13)下列选项中非法的表达式是__D____。

A)0<=x<100 B)i=j==0 C)(char)(65+3) D)x+1=x+1 (14)以下程序的输出结果是__B____。 #include main( ) {

printf(\ }

A)不确定的(因变量无定义) B)0 C)-1 D)1 (15)在下面的语句中,赋值语句错误的是__C____。 A)a=(b=(c=2,d=3)); B)i++;

C)a=a/b=2; D)a=a

{ int k=4,m=1,p;

p=func(k,m); printf(\ p=func(k,m); printf(\ }

func(int a,int b) { static int m=0,i=2; i+=m+1; m=i+a+b; return(m); }

A)8,17 B)8,16 C)8,20 D)8,8

(17)以下程序调用 findmax 函数求数组中值最大的元素在数组中的下标,请选择填空: #include

findmax(int *s,int t,int *k) { int p ;

for(p=0,*k=p;ps[*k]) ___D___; }

main( )

{ int a[10],i,k;

for(i=0;i<10;i++) scanf(\ findmax(a,10,&k);

printf(\ }

A)k=p B)*k=p-s C)k=p-s D)*k=p

(18)在执行以下程序时,为了使输出结果为 t=4,给 a 和 b 输入的值应该满足的条件是 __C____。

main() {

int s,t,a,b;

scanf(\ s=1;t=1;

if(a>0)s=s+1; if(a>b)t=s+t; else if(a==b)t=5; else t=2*s;

printf(\ }

A)a>b B)ab (19)以下函数调用语句中含有__B____个实参。 func((exp1,exp2),(exp3,exp4,exp5) );

A)1 B)2 C)4 D)5 (20)执行以下程序后,输出的结果是__D___。 main() {

int y=10;

do{y--;}while(--y); printf(\ }

A)-1 B)1 C)8 D)0 (21)在 C 语言中,要求运算数必须是整型的运算符是___A___。 A)% B)/ C)< D)! (22)C 语言提供的合法的数据类型关键字是__B___。

A)Double B)float C)integer D)Char (23)设有以下定义:

int a[3][3]={1,2,3,4,5,6,7,8,9}; int (*ptr)[3]=a,*p=a[0];

则下列能够正确表示数组元素 a[1][2]的表达式是__D____。 A)*((*ptr+1)[2]) B)*(*(p+5)) C)(*ptr+1)+2 D)*(*(a+1)+2) (24)若有以下说明:

int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则值为 6 的表达式是__C____。

A)*p+6 B)*(p+6) C)*p+=5 D)p+5 (25)下列程序的输出结果是___C___。 fun() {

static int x=5;

if(x++>5)printf(\ else printf(\ }

main() {

fun();fun(); }

A)67 B)69 C)68 D)78 (26)下面程序的输出是__A____。 main( ) {

int m=0xa,n=2; m+=n;

printf(\ }

A)C B)c C)99 D)2 (27)以下程序的输出结果是__A____。 # include main( )

{char *a=\ fun(a);puts(a); }

fun(char *s)


C语言程序设计模拟题(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:题库-医保卷

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: