c语言练习试题库.docx

上传人:b****7 文档编号:10418058 上传时间:2023-02-11 格式:DOCX 页数:16 大小:18.72KB
下载 相关 举报
c语言练习试题库.docx_第1页
第1页 / 共16页
c语言练习试题库.docx_第2页
第2页 / 共16页
c语言练习试题库.docx_第3页
第3页 / 共16页
c语言练习试题库.docx_第4页
第4页 / 共16页
c语言练习试题库.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

c语言练习试题库.docx

《c语言练习试题库.docx》由会员分享,可在线阅读,更多相关《c语言练习试题库.docx(16页珍藏版)》请在冰豆网上搜索。

c语言练习试题库.docx

c语言练习试题库

c语言练习试题库

  单项选择题

  1.有charc=’1’,下面说法中正确的是(  )。

  A.语句putc+2);的输出结果为51

  B.语句put“%d”,c+2);的输出结果为3

  C.语句put“%c”,c+2);的输出结果为51

  D.语句put“%c”,c+2);的输出结果为3

  2.设c1,c2均是char型变量,则下面不正确的函数调用为(  )。

  A.scanf(”c1=2=%c”,&c1,&c2);

  B.get);

  C.putc2);

  D.putc1,c2);

  3.为了表示关系x>=y>=z,下面C语言表达式中正确的是(  )。

  A.(x>=y)&&(y>=z)

  B.(x>=y)and(y>=z)

  C.(x>=y>=z)

  D.(x>=y)&(y>=z)

  4.设x,y,z,t为int型变量,则执行以下语句后,t的值为(  )。

  x=y=z=1;

  t=++x||++y&&++z;

  A.不定值

  B.2

  C.1

  D.0

  5.对if语句中表达式的类型,下面正确的说法是(  )。

  A.必须是关系表达式

  B.必须是关系表达式或逻辑表达式

  C.可以是任意表达式

  D.必须是关系表达式或算术表达式

  6.对for(表达式1;;表达式3)可以理解为(  )。

  A.for(表达式1;0;表达式3)

  B.for(表达式1;表达式1;表达式3)

  C.for(表达式1;1;表达式3)

  D.for(表达式1;表达式3;表达式3)

  7.执行语句for(i=1;i++<4;);之后,变量i的值为(  )。

  A.3

  B.4

  C.5

  D.不确定

  8.若二维数组a有m列,则在a[i][j]前的元素个数为(  )。

  A.j*m+i

  B.i*m+j

  C.i*m+j-i

  D.i*m+j+1

  9.下面说法中正确的是(  )。

  A.在C语言中,可以使用动态内存分配技术,定义元素个数可变的数组

  B.在C语言中,数组元素的个数可以不确定,允许随即变动

  C.在C语言中,数组元素的数据类型可以不一致

  D.在C语言中,定义数组后,就确定了它能容纳的相同数据类型元素的个数

  10.不能把字符串:

“good!

”赋给数组b的语句是(  )。

  A.charb[10]={’g’,’o’,’o’,’d’,’!

’};

  B.charb[10];b=“good!

”;

  C.charb[10];strcpy(b,“good!

”);

  D.charb[10]=“good!

”;

  11.执行下面程序段,给x,y赋值时,不能作为数据分隔符的是(  )。

  intx,y;

  scanf(”%d%d”,&x&y);

  A.回车

  B.Tab键

  C.回车

  D.逗号

  12.已知ch是字符型变量,下面不正确的赋值语句为(  )。

  A.ch=’a+b’;

  B.ch=’’;

  C.ch=’7’+’9’;

  D.ch=5+9;

  13.下面程序段的输出结果是(  )。

  charc1=’6’,c2=’0’;

  printf(”%c,%c,%d,%d”,c1,c2,c1-c2,c1+c2);

  A.因输出格式不合法,输出出错信息

  B.6,0,6,102

  C.6,0,7,6

  D.6,0,5,7

  14.在C语言的循环语句for,while,dowhile中,用于直接中断最内层循环的语句是(  )。

  A.switch

  B.continue

  C.break

  D.if

  15.下面的循环结构中,不是无限循环的是(  )。

  A.for(i=1;;i++)printf(“%d”,i--);

  B.i=1;while(i--){printf(”%d”,i++);}

  C.i=1;do{printf(”%d”,i);i++;}while(--i);

  D.for(i=0;i;i++)printf(”%d”,i);

  16.下面程序段的运行结果是(  )。

  charc[]=”will”;

  printf(“%d“,strlen(c));

  A.14

  B.3

  C.9

  D.字符串中有非法字符,输出值不确定

  17.下面说法中正确的是:

在C语言程序中(  )。

  A.函数的定义可以嵌套,但函数的调用不可以嵌套

  B.函数的定义不可以嵌套,但函数的调用可以嵌套

  C.函数的定义和调用均不可以嵌套

  D.函数的定义和调用均可以嵌套

  18.若用数据名作为函数调用的实参,传递给形参的是(  )。

  A.数据的首地址

  B.数组第一个元素的值

  C.数组中全部元素的值

  D.数组元素的个数

  19.以下叙述中不正确的是(  )。

  A.在不同的函数中可以使用相同名字的变量

  B.函数中的形式参数是局部变量

  C.在一个函数内定义的变量只在本函数范围内有效

  D.在一个结函数内的符合语句中定义的变量在本函数范围内有效

  20.一个变量的指针是指(  )。

  A.该变量的值

  B.该变量的地址

  C.该变量的变量名

  D.该变量的标志

  21.若有定义:

inta[10],*p=a;,则p+5表示(  )。

  A.元素a[5]的地址

  B.元素a[5]的值

  C.元素a[6]的地址

  D.元素a[6]的值

  22.C语言规定,在一个源程序中,main函数的位置(  )。

  A.必须在最开始

  B.必须在系统调用的库函数的后面

  C.可以任意

  D.必须在最后

  23.一个C语言程序是由(  )。

  A.一个主程序或若干个子程序组成

  B.函数组成

  C.若干过程组成

  D.若干个子程序组成

  24.下面哪项是构成C语言的基本单位(  )。

  A.函数

  B.过程

  C.子程序

  D.子例程

  25.以下正确的说法是(  )。

  A.定义函数时,形参的类型说明可以放在函数体内

  B.return后边的值不能为表达式

  C.如果函数值的类型和返回值类型不一致,以函数值类型为准

  D.如果形参与实参的类型不一致,以函数值类型为准

  26.对于基类型相同的两个指针变量之间,不能进行的运算是(  )。

  A.<

  B.=

  C.+

  D.–

  27.变量的指针,其含义是指该变量的(  )。

  A.值

  B.地址

  C.名

  D.一个标志

  28.下面程序运行的结果是(  )。

  voidss(char*s,chart)

  {while(*s)

  {if(*s==t)*s=t-‘a’+’A’;

  s++;

  }

  }

  voidmain()

  {charstr1[100]=”abcddfefdbd”,c=’d’;

  ss(str1,c);

  printf(“%s”,str1);

  }

  A.ABCDDFEFDBD

  B.abcDDfefDbD

  C.abcAAfefAbA

  D.Abcddfefdbd

  29.下列说法中正确的是(  )。

  A.结构体变量可以作为一个整体进行其值得输入和输出

  B.结构体成员项不可以是结构体

  C.结构体成员项可以是结构体或其他任何C语言的数据类型

  D.结构体变量和结构体是相同的概念

  30.下面说法中不正确的是(  )。

  A.一个C源程序可有一个或多个函数组成

  B.一个C源程序必须包含一个main函数

  C.C程序的基本组成是函数

  D.在C程序中,注释语句只能位于一条语句的后面

  31.若执行下面的程序段,则下面描述中正确的是(  )。

  intk=5;

  while(k=1)k--;

  A.while循环执行四次

  B.循环体执行一次

  C.循环体一次也不执行

  D.死循环

  32.下面关于for循环的正确描述是(  )。

  A.for循环只能用于循环次数已经确定的情况

  B.for循环中是先执行循环体语句,后判断表达式

  C.在for循环中,不能用break语句跳出循环

  D.for循环的循环体可以包含多条语句,但必须用花括号括起来

  33.不正确的定义语句是(  )。

  A.doublex[5]={2.0,4.0,6.0,8.0,10.0};

  B.inty[5]={0,1,3,5,7,9};

  C.charc1[]={’1’,’2’,’3’,’4’,’5’};

  D.charc2[]={’x10’,’x0a’,’x08’};

  34.下面是对s的初始化,其中不正确的是(  )。

  A.chars[5]={“abc”};

  B.chars[5]={‘a’,’b’,’c’};

  C.chars[5]=””;

  D.chars[5]=”abced”;

  35.下面程序段的运行结果是(  )。

  charc[5]={‘a’,’b’,’’,’c’,’’};

  printf(“%s”,c);

  A.‘a’’b’

  B.ab

  C.abc

  D.abc

  36.以下说法中正确的是(  )。

  A.C语言程序总是从第一个定义的函数开始执行

  B.在C语言程序中,要调用的函数必须在main函数中定义

  C.C语言程序总是从main函数开始执行

  D.C语言程序中的main函数必须放在程序的开始部分

  37.下列常量中,合法的C常量是(  )。

  A.“x-y”

  B.‘105’

  C.‘Be’

  D. 07ff

  38.下面程序的输出结果是(  )。

  voidmain

  {

  inti=011,j=11;

  printf(“%d,%d”,++i,j--);

  }

  A.10,11

  B.12,10

  C.11,11

  D.10,9

  39.下面程序的执行结果为(  )。

  voidmain()

  {intx=20,y;

  y=++x; y+=x;

  printf(”%d,”y);

  y=x--;  y+=x;

  printf(”%d,”y);

  }

  A.42,41

  B.42,42

  C.40,41

  D.42,40

  40.下面程序的输出结果是(  )。

  voidmain()

  {inti=010,j=10;

  printf(“%d,%d”,i++,++j);

  }

  A.10,11

  B.11,11

  C.8,11

  D.8,10

  41.能正确表示a和b同时为正或同时为负的表达式是(  )。

  A.(a>=0||b>=0)&&(a<0||b<0)

  B.(a>=0||b>=0)&&(a<0&&b<0)

  C.(a+b>0)&&(a+|b<0)

  D. a*b>0

  42.以下关于运算符优先顺序的描述中正确的是(  )。

  A.关系运算符<算术运算符<赋值运算符<逻辑运算符

  B.逻辑运算符<关系运算符<算术运算符<赋值运算符

  C.赋值运算符<逻辑运算符<关系运算符<算术运算符

  D.算术运算符<关系运算符<赋值运算符<逻辑运算符

  43.下面程序的运行结果是(  )。

  voidmain()

  {inta,b,d=241;

  a=d/100%9;

  b=(-1)&&(-1);

  printf(“%d,%d”,a,b);

  }

  A.6,1

  B.2,1

  C.6,0

  D.2,0

  44.若有条件表达式(exp)?

a++:

b--,则以下表达式中完全等价于表达式(exp)的是(  )。

  A.(exp==0)

  B.(exp!

=0)

  C.(exp==1)

  D.(exp!

=1)

  45.程序段如下,则正确的执行结果是(  )。

  intk=0;

  while(k++<=2);

  printf(“%d”,k);

  A.2

  B.3

  C.4

  D.无结果

  46.下面说法中正确的是(  )。

  A.在C语言函数中,必须有形参

  B.在C语言函数中,形参必须是变量名

  C.在C语言函数中,可以有也可以没有形参

  D.在C语言函数中,数组名不能做形参

  47.下面说法正确的是,在C语言中(  )。

  A.实参和与其对应的形参各占用独立的存储单元

  B.实参和与其对应的形参共占用一个存储单元

  C.只有当实参和与其对应的形参同名时才共占用存储单元

  D.形参是虚拟的,不占用存储单元

  48.下面不正确的说法是:

C语言规定(  )。

  A.实参可以是常量、变量或表达式

  B.形参可以是常量、变量或表达式

  C.实参传递给形参时,要求实参必须有确定的值

  D.形参应与其对应的实参类型可以不一致

  49.C语言允许函数值类型缺省定义,此时函数值隐含的类型是(  )。

  A.float型

  B.int型

  C.long型

  D.double型

  50.若有以下定义:

chars[10]=“include“,*p=s;,则不能代表字符‘u’的表达式为( )。

  A.s[4]

  B.s+4

  C.*(p+4)

  D.p+=4,*p;

  51.C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是(  )。

  A.地址传递

  B.单向值传递

  C.由实参传给形参,再由形参传给实参

  D.由用户指定传递方式

  52.C语言规定,函数返回值的类型是由(  )。

  A.return语句中的表达式类型所决定

  B.调用该函数时的'主调函数类型所决定

  C.调用该函数时系统临时决定

  D.在定义该函数时所指定的函数类型所决定

  53.若有int*p,a[10];p=a;,则下列写法不正确的是(  )。

  A.p=a+2

  B.a++

  C.*(a+1)

  D.p++

  54.若用数组名作为函数调用的实参,传递给形参的是(  )。

  A.数组的首地址

  B.数组第一个元素的值

  C.数组中全部元素的值

  D.数组元素的个数

  55.若使用以为数组名作函数实参,则下面说法中正确的是(  )。

  A.在被调函数中,与该实参相对应的形参必须是同类型的数组名或指针变量

  B.实参数组类型与形参数组类型可以不匹配

  C.在被调函数中,不需要考虑形参数组的大小

  D.实参数组名与形参数组名必须一致

  56.设p1、p2是指向同一个字符串的指针变量,c为字符变量,则不能正确执行的赋值语句为(  )。

  A.c=*p1+*p2;

  B.p2=c;

  C.p1=p2;

  D.c=(*p1)*(*p2);

  57.若有一下结构体定义,则正确的引用和定义是(  )。

  structexample{intx; inty;}v1;

  A.example.x=10

  B.examplev2;v2.x=10;

  C.struct v2; v2.x=10;

  D.struct example v2={10,5};

  58.说明一个结构体变量时,系统分配给它的内存是(  )。

  A.各成员所需内存量的总和

  B.结构体中第一个成员所需内存量

  C.成员中占内存量最大者所需的容量

  D.结构体中最后一成员所需内存量

  59.在C语言中,文件由下面拿个组成(  )。

  A.记录

  B.数据行

  C.数据块

  D.字符(字节)序列

  60.下面程序段的运行结果是(  )。

  charc[]=”will”;

  printf(“%d“,strlen(c));

  A.14

  B.3

  C.9

  D.字符串中有非法字符,输出值不确定

  61.以下叙述中不正确的是(  )。

  A.在不同的函数中可以使用相同名字的变量

  B.函数中的形式参数是局部变量

  C.在一个函数内定义的变量只在本函数范围内有效

  D.在一个结函数内的符合语句中定义的变量在本函数范围内有效

  62.一个变量的指针是指(  )。

  A.该变量的值

  B.该变量的地址

  C.该变量的变量名

  D.该变量的标志

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1