c语言表达式题库

合集下载

c语言编程题库100题,

c语言编程题库100题,

c语言编程题库100题,单项选择题1.有char c=’1’,下面说法中正确的是()。

A. 语句putc+2);的输入结果为51B. 语句put“%d”,c+2);的输出结果为3C. 语句put“%c”,c+2);的输入结果为51D. 语句put“%c”,c+2);的输出结果为32.设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. 2C. 1D. 05.对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. 3B. 4C. 5D. 不确定8.若二维数组a存有m列,则在a[i][j]前的元素个数为()。

A. j*m+iB. i*m+jC. i*m+j-iD. i*m+j+19.下面说法中正确的是()。

A. 在C语言中,可以采用动态内存分配技术,定义元素个数气门的数组B. 在C语言中,数组元素的个数可以不确定,允许随即变动C. 在C语言中,数组元素的数据类型可以不一致D. 在C语言中,定义数组后,就确定了它能容纳的相同数据类型元素的个数10.无法把字符串:“good!”参数值数组b的语句就是()。

(完整word)C语言考试试题.

(完整word)C语言考试试题.
A.int max(x,y);B.static char c;C.#define PI 3。141592D.#define S 345
24.C语言中要求对变量作强制定义的主要理由是(B)
A.便于编辑预处理程序的处理B。便于确定类型和分配空间
C.便于移植D.便于写文件
25。以下数据中,不正确的数值或字符常量是(A)
25.若有定义:char s[]= ”turboC ";则Turbo C系统为数组s开辟【7】个字节的内存单元
二、判断共10题(共计20分)
1.inti,*p=&i;是正确的C说明(√)
2。若有说明intc;则while(c=getchar());是正确的C语句(√)
3。共同体变量所占的内存长度等于最长的成员长度(√)
23.当a=5,b=7,c=8时,执行以下程序段后c=【5】
if(a〈c) b=a;
a=c;
c=b;
24.已知a=5,写出表达式(0<a)‖(a〈2)的值是【1】
25。在TC2。0中,有以下结构类型说明和变量定义,则变量a在内存所占字节数是【22】
Strut stud
{char num[6];
int s [4];
4.charc[]=”Very Good”;是一个合法的为字符串数组赋值的语句(√)
5.在程序中定义了一个结构体类型后,可以多次用它来定义具有该类型的变量(√)
6。整数—32100可以赋值给int型和longint型变量(√)
7.如果函数值的类型和return语句中表达式的值不一致,则以函数类型为准(√)
for(i=0;i〈=2;i++)printf(“YES");printf(“\n”);

C 题库

C 题库
29. 在C语言中,用关键字[<double>]定义双精度实型变量.
30. 在C语言中,用关键字[<char>]定义字符型变量。
31. 在Turbo C环境中用RUN命令运行一个C程序时,所运行的程序的后缀是[<.exe>]。
32. 在C语言中(以16位PC机为例),一个char型数据在内存中所占的字节数为[<1>].
printf("%d%c",a,b);
}
35. 若有定义:int a=4,b=5,c=6;接着顺序执行下列语句后,变量b中的值是[<1>]。
c=(a-=(b-5));
c=(a%3)+(b=1);
36. 复合语句在语法上被认为是[<一条语句>]。
37. 执行下列程序时,输入1234567<CR>,则输出结果是[<12 34>]。
87. 执行语句int i=2; int *p; p=&i;后,*p的值为[<2>]。
88. 设有char *a="ABCD",则printf("%c", *a)的输出是[<A>]。
89. 若d是已定义的双精度变量,再定义一个指向d的指针变量p的代码是[<double *p
= &d>]。
43. 以下程序段的输出结果是[<死循环>]
int k,n,m;
n=10;m=1;k=1;
while(k<=n) m*=2;
printf("%d\n",m);
44. 已有定义:char c='';int a=1,b;执行b!=c&&a;后b的值为[<0>]。

C语言试题库(含答案)

C语言试题库(含答案)
C、Print f("%c\n",class[2].name[l]);
D、print f("%c\n",class[2].name[0]);
标准答案:D
【5】设单精度变量f,g的值均为5.0,则下面的表达式中,使f为10.0的表达式是。
A、f+=g
B、f-=g+5
C、f*=g-5
D、f/=g*5
标准答案:A
if(ch=='/')w=a/b;
B、B)if(ch=='*')w=a*b;
else if(ch=='/')w=a/b;
if(ch=='+')w=a+b;
else if(ch=='-')w=a-b;
C、if(ch=='+')w=a+b;
else if(ch=='-')w=a-b;
if(ch=='*')w=a*b;
A、15
B、10
C、25
D、20
标准答案:A
【15】程序段的基本结构中,不包含()。
A、函数结构
B、循环结构
C、顺序结构
D、分支结构
标准答案:A
【1】执行语句scanf("%d,%d",&m,&n);使m和n的值分别为1和2,正确输入是。
A、1
B、2
C、1,2
D、12
标准答案:c
【3】若用数组名作为函数调用的实参,传递给形参的是()。
#include<stdio.h>
main()
{int i=1;

C语言试题数据类型运算符与表达式

C语言试题数据类型运算符与表达式

C语言试题数据类型运算符与表达式一、单项选择题1、以下选项中,不正确的C语言浮点型常量是(C)。

A.160.B.0.12C.2e4.2D.0.0分析:e后面的指数必须为整数。

2、以下选项中,(D)是不正确的C语言字符型常量。

A.'a'B.'\\某41'C.'\\101'D.\分析:在C语言中,’a’表示字符常量,”a”表示字符串。

3、在C语言中,字符型数据在计算机内存中,以字符的(C)形式存储。

A.原码B.反码C.ASCII码D.BCD码分析:将一个字符常量放入一个字符变量中,实际上并不是将字符本身放到内存单元中,而是将字符的对应的ASCII码放到储存单元中。

4、若某、i、j和k都是int型变量,则计算下面表达式后,某的值是(C)。

某=(i=4,j=16,k=32)A.4B.16C.32D.52分析:(i=4,j=16,k=32)的值为最后一个表达式的值,即为32,所以某=32.5、算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为(B)。

A.算术运算、赋值运算、关系运算 B.算术运算、关系运算、赋值运算C.关系运算、赋值运算、算术运算D.关系运算、算术运算、赋值运算分析:算术运算符包括加法运算“+”符减法运算“-”符乘法运算符“某”以及除法运算符“/”,赋值运算符包括“=、+=、-=、某=、/=、”,关系运算符包括“、>=”。

3ae6、若有代数式bc,则不正确的C语言表达式是(C)。

A.a/b/c某e某3B.3某a某e/b/cC.3某a某e/b某cD.a某e/c/b某3分析:C选项表达的是3ace/b。

7、表达式!某||a==b等效于(D)。

A.!((某||a)==b)B.!(某||y)==bC.!(某||(a==b))D.(!某)||(a==b)分析:由符优先级先后顺序在!某||a==b中应先算“||”再算“!”,最后算“==”。

C语言考试题库及答案

C语言考试题库及答案

C语言考试题库及答案1. 以下不是C语言的特点的是( C )A、C语言简洁,紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件进行操作D、C语言的移植性好2. 一个C程序是由()BA、一个主程序和若干个子程序组成B、一个或多个函数组成C、若干过程组成D、若干子程序组成3.以下描述正确的是( ) CA、由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句。

B、do-while循环由do开始,用while结束,在while(表达式)后面不能写分号。

C、在do-while循环体中,不一定要有能使while后面表达式的值变成零(“假”)的操作。

D、do-while循环中,根据情况可以省略while。

4.以下对一维整形数组a的正确说明是( ) DA、int a(10);B、int n=10,a[n];C、int n;D、int a[10];5.以下对二维数组a的正确说明是( ) CA、inta[3][];B、float a(3,4);C、double a[1][4];D、float a(3)(4);6.数组名作为实参传给被调用的函数时,形参获得的是()CA、该数组第一个元素的值B、该数组所有元素的值C、该数组第一个元素的首地址D、该数组所有元素的首地址7. C程序的开始是从()AA、main()函数开始,直到main()函数结束B、第一个函数开始,直到最后一个函数结束C、第一个语句开始,直到最后一个语句结束D、main()函数开始,直到最后一个函数结束8.在C程序中,main()函数的位置()CA、必须作为第一个函数B、必须作为第二个函数C、可以任意D、必须放在它所调用的函数之后9. C编译程序是()CA、C语言的机器语言版本B、一组机器语言指令C、将C源程序编译成目标程序的程序D、是由自己编制的10.以下叙述中错误的是( )CA、C程序经过编译、连接之后形成一个真正可执行的二进制机器指令文件B、用C语言编写的程序称为源程序,它以ASCⅡ代码形式存放在文件中C、C语言中的每条可执行语句和非执行语句最终被转换成二进制的机器指令非执行的语句不转换:例如//和/**/是注释的意思D、C语言源程序经编译后生成后缀为.obj的目标程序1.以下不正确的C语言标识符是( )D字母,数字,下划线组成,但是不能以数字开头A、ABCB、abcC、a_bcD、ab.c12.一个C语言程序是由( ) BA、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成13.以下叙述错误的是( ) C算法可以没有输入输入,但是一定不能没有输出A、算法正确的程序最终一定会结束B、算法正确的程序可以有零个输入C、算法正确的程序可以有零个输出D、算法正确的程序对于相同的输入一定有个相同的结果14.设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+ i*f值的数据类型为( ) C强制类型转换A、intB、floatC、doubleD、不确定15.以下叙述中错误的是( )CA、结构化程序由顺序、分支、循环三种基本结构组成B、C语言是一种结构化程序设计语言C、使用三种基本结构构成的程序只能解决简单问题D、结构化程序设计提倡模块化的设计方法16.以下叙述中错误的是()CA、算法正确的程序最终一定会结束B、算法正确的程序可以有零个输入C、算法正确的程序可以有零个输出D、算法正确的程序对于相同的输入一定有相同的结果17.以下选项中关于程序模块化的叙述错误的是()BA、把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块B、可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序C、把程序分成若干相对独立的模块,可便于编码和调试D、可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序18. 关于C语言的符号常量,以下叙述中正确的是()CA、符号常量的名是标识符,必须大写B、符号常量的名是标识符,必须小写C、符号常量是指用一个符号名来代表一个常量D、符号常量的符号名必须是常量19.关于C语言的变量,以下叙述中错误的是()BA、所谓变量是指在程序运行过程中其值可以被改变的量B、变量所占的存储单元地址可以随时改变C、程序中用到的所有变量都必须先定义后使用D、由三条下划线构成的符号名是合法的变量名20.以下选项中合法的变量名是()CA、5aB、A%C、_10_D、sizeof21.在C语言中,char型数据在内存中的存储形式是( ) DA、补码B、反码C、源码D、ASCII码22.有如下程序,输入数据:12345M678<cR>后(<CR>表示回车),x的值是( ) 。

C语言200道练习试题和答案

C语言200道练习试题和答案

A)<=
B)=
C)%
D)&&
26.表达式(a=2,3) , a+1的值是【 C 】。
A)0 B)2
C)3
D)4
27.若执行printf("%d\n", strlen("a\n\"\x41"))语句其输 出结果是【 D 】。
A)8 B)7 C)6
D)4
28.在循环语句的循环体中执行break语句, 其作用是【 A 】。 A)跳出该循环体,提前结束循环 B)继续执行break语句之后的循环体各语句 C)结束本次循环,进行下次循环 D)终止程序运行
则输出是【 d 】 A)1234.56 1234 B)1234.57 1235 C)1234.56 1235 D)1234.57 1234
43.如果有
int a, b; scanf(“%d,%d”, &a, &b);语句,
则输入数据时,只可以用【 d 】作为输入的分隔符
A)TAB键 B)空格
C)回车
C)20,10 D)20,20
24.若有以下定义和语句 char c1='b',c2='e'; printf("%d,%c\n",c2-c1,c2-'a'+"A"); 则输出结果是【 B 】。
A)2,M B)3,E C)2,E D)输出项与对应的格式控制不一致,输出结果不确定
25.在以下一组运算符中,优先级最高的运算符是【 C 】
int i,j,k; scanf(“%d,%3d%d”,&i,&j,&k); printf(“%d,%d,%d\n”,i,j,k); A)12345678 B)123,456,78 C)123,45678 D)123,*45678

C语言题库(2020版)第2章 数据类型运算符和表达式√

C语言题库(2020版)第2章 数据类型运算符和表达式√

第二章数据类型运算符和表达式一、单项选择1.若有定义语句:int k1=10,k2=20;,执行表达式(k1=k1>k2)&&(k2=k2>k1)后,k1和k2的值分别为( B )2.下面四个选项中,均是不合法的用户标识符的选项是( B )。

3.判断字符型变量c1是否为数字字符的正确表达式为( A )4.在C语言中,要求运算数必须是整型的运算符是( A )5.下面四个选项中,均是合法的用户标识符的选项是(A)。

6.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是(B)。

7.若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为(B)。

8.表达式18/4*sqrt(4.0)/8值的数据类型为(B)。

9.若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是( D )10.判断字符型变量c1是否为小写字母的正确表达式为(B)。

11.在C语言中,char型数据在内存中的存储形式是(C)。

12.以下选项中关于C语言常量的叙述错误的是:( D )13.下面正确的字符常量是(B)14.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( D)15.以下选项中,能表示逻辑值"假"的是( B )16.设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为(C)17.以下选项中非法的字符常量是( B )18.以下关于C语言数据类型使用的叙述中错误的是(B )19.设:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b) && (n=c>d)后n的值为(C)。

20.若有数学式3aebc,则不正确的C语言表达式是(A)21.下列表达式中,不满足"当x的值为偶数时值为真,为奇数时值为假"的要求的是(C)二、填空1.若s是int型变量,s=6;则表达式s%2+(s+1)%2的值为___1__2.假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为___9__3.C语言中的标识符只能由三种字符组成,它们是__字母___,_数字____和____下划线_4.若a.b和c均是int型变量,则计算表达式a=(b=4)+(c=2)后,a值为 6,b值为_4,c值为_2_5.在C语言中,不带任何修饰符的浮点常量,是按___double__类型数据存储的。

C语言试题库(有完整答案)(成教版2012)

C语言试题库(有完整答案)(成教版2012)

C语言试题库(成教版2012)一、填空题1、一个C程序有且只有一个main 函数2、表达式10%3的结果为 13、表达式10/3的结果为 34、表达式15%7的结果为15、设int m=1,n=2,则++m==n的结果是 16、在16位PC环境下,字符常量‘a’在内存中应占1 个字节,字符串常量“a”应占2个字节。

7、一个C语言的语句至少应包含一个分号。

8、若有以下定义,则执行表达式y+=y-=m*=y后的y值是-16int m=5,y=2;9、程序设计的三大结构是顺序结构、选择结构、循环结构。

10、执行下列语句后,a=12,a+=a-=a*a,a的值是 -26411、C 程序注释是由 /*和*/所界定的文字信息组成的。

12、C源程序的基本单位是函数。

13、函数是具有相对独立功能的程序段。

14、C语言中的标识符可以由3种字符组成,它们是:英文字母、下划线、数字,并且第一个字符必须是字母或下划线。

15、以下程序执行后的输出结果是-4 。

#include<iostream.h>void main(){int n=0,m=1,x=2;if(!n) x=x-1;if(m) x=x-2;if(x) x=x-3;cout<<x<<endl;}16、以下程序执行后的输出结果是5,0,3 。

#include<iostream.h>void main(){int a=4,b=3,c=5,t=0;if(a<b) t=a;a=b;b=t;if(a<c)t=a;a=c;c=t;cout<<a<<","<<b<<","<<c<<endl;}17、以下程序执行后的输出结果是20,0 。

#include<iostream.h>void main(){int x=10,y=20,t=0;if(x==y) t=x;x=y;y=t;cout<<x<<","<<y<<endl;}18、若运行程序时输入数据为:60<CR>,则以下程序执行后的输出结果是60 60 60 。

C语言考试真题

C语言考试真题

C语言考试真题C程序题库一填空题,1,C语言表达式!(3<6)||(4<9)的值是【1】;2,假设变量a,b均为整形,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是【8】;3,当a=3,b=2,c=1;时,执行以下程序段后c=【2】;If(a>b) a=b;If(b>c) b=c;Else c=b;C=a;4,已知 i=5,写出语句i*=i+1;执行后整形变量i 的值是【30】;5,按内存排列顺序,数组char a[2]中的所有元素是a[1]和【a[0]】二判断1,C语言中只能逐个引用数组元素而不能一次引用整个数组 Y2,int i=20;switch(i/10){case2:printf(“A”);Case 1:printf(“B”);}的输出结果为 A N3,在C中,int定义的整形数据在内存中占2个字节。

N4,假设有int a[10], *p; 则p=&a[0]与p=a等价。

Y5,共同体变量所占的内存长度等于最长的成员的长度。

Y三选择题1,数组名作为实参数传递给函数时,数组名被处理为(C)A 该数组的长度B 该数组的元素个数C 该数组的首地址D 该数组中各元素的值2,若调用一个函数,且此函数中没有return语5,已定义两个字符数组a,b,则以下正确的输入格式是(A)A scanf(“%s%s”, a, b)B get(a, b)C scanf(“%s%s”, &a, &b)D gets(“a”), gets(“b”)6,若给定条件表达式(M)?(a++):(a--),则其中表达式M(C)A 和(M==0)等价B 和(M==1)等价C 和(M!=0)等价D 和(M!=1)等价7,以下函数类型是(C)Fff(float x){Return 5;}A 与参数x的类型相同B void 类型C int 类型D 无法确定8,以下不正确的if语句是(B)A if(x>y && x!=y)B if(x==y:) x+=yC if(x!=y)scanf(“%d”, &x ) else scanf(“%d”, &y)D if(x<y) {x++, y++}9,指针变量p进行自动加算(即执行p++;)后,地址偏移值为2,则其数据类型为(A)A intB floatC doubleD char10,在以下给出的表达式中,与 do--while(E)语句中的(E)不等价的表达式是(C)A (!E==0)B (E>0||E<0)C (E==0)D (E!=0)11,下列程序的输出结果是(B)main ( ){Printf ( “%d\n” ,n )}A 0B 变量无定义C -1D 112,以下选型中,与k=n++完全等价的表达式是(A)A k=n, n=n+1B n=n+1, k=nC k=++nD k+=n+113,以下程序段的输出结果为(D)char c [ ]=”abc” ;int i=0 ;do ; while ( c[ i++ ]!=’ \0’ ) ; printf ( “%d”, i-1 ) ;A abcB abC 2D 314,下列程序段的输出结果为(B)float k=0.8567printf ( “%06.1f%%” ,k*100 );A 0085.6%%B 0085.7%C 0085.6%D .85715,下列选项中正确的语句组是(D)A char s[ 8 ]; s={ “Beijing” };B char *s; s={ “Beijing” };C char s[ 8 ] ; s=”Beijing” ;D char *s ; s=”Beijing” ;16,已知字符a的ASCII码值是97,字符A的ASCII码值是65,则执行下列语句后变量a和b 的值分别为(B)int a, b ;a=1+’ a ‘ ;b=2+7%4- ‘ A ‘ ;A -63, -64B 98, -60C 1, -60D 79, 7817, 若使用一维数组名作函数实参,则以下正确的说法是(A)A 必须在主调函数中说明此数组的大小B 实参数组类型与形参数组类型可以不匹配C 在被调用函数中,不需要考虑形参数组的大小D 实参数组名与形参数组名必须保持一致18,若有说明:int i, j=2, *p=&i; ,则能完成i=j赋值功能的语句是(B)A i=*p ;B *p=*&j ;C i=&j ;D i=**p ;19,若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是(D)A 函数调用可以作为独立的语句存在B 函数调用可以作为一个函数的实参C 函数调用可以出现在表达式中D 函数调用可以作为一个函数的形参20,若a=-14, b=3, 则条件表达式 a<b ? a :b+1的值为(A)A -14B -13C 3D 4一填空题1,已知 i=5,写出语句 a=a++; 执行后整形变量a的值是【5】2,int x=2,y=2,z=0; 则表达式x==y>z的值为【0】3,假设所有变量都为整形,表达式(a=2, b=5, a>b?a++:b++,a+b)的值是【8】4,设k=(a=2,b=3,a*b),则k的值为【6】5,int a=1,b=2,c=3;执行语句a += b *= c;后a的值是【7】二判断题1,int a[ 3 ][ 4 ]={ {1}, {5}, {9} }:它的作用是将数组各行第一列的元素赋初值,其余元素值为0.2,循环结构中的continue语句是使整个循环终止执行 N3,C程序中有调用关系的所有函数必须放在同一个源程序文件中 N4,char c[ ]=”Very Good”: 是一个合法的为字符串数组赋值的语句 Y5,函数strlen(“ASDFG\n”)的值是7 N三选择题1.char h, *s=&h;可将字符H通过指针存入变量h中的语句是(B)A *s=HB *s=’H’C s=HD s=’H’2,应用缓冲文件系统对文件进行读写操作,打开文件的函数名为(B)A openB fopenC closeD fclose3,对结构体类型的变量的成员的访问,无论数据类型如何都可使用的运算符是(A)A .B ->C *D &4,若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是(A)A 2.500000B 2.750000C 3.500000D 0.0000005,下列定义数组中的语句不正确的是(D)A static int a[ 2 ][ 3 ]={ 1,2,3,4,5,6 }B static int a[ 2 ][ 3 ]={ {1},{4,5} }C static int a[ ] [ 3 ]={ {1},{4} }D static int a[ ] [ ]={ {1,2,3},{4,5,6} } 6,下列变量说明语句中,正确的是(D)A char : a b cB char a; b; cC int x; zD int x, z7,关于return语句,下列正确的说法是(C)A 不能在主函数中出现且在其他函数中均可出现B 必须在每个函数中出现C 可以在同一个函数中出现多次D 只能在除主函数之外的函数中出现一次8,以下可作为函数fopen中第一个参数的正确格式是(D)A c : user\text . txtB c : \user\text . txtC “c : \user\text . txt”D “c : \\user\\text . txt”9,若所有变量均为整形,则表达式(a=2,b=5,b++,a+b)的值是(B)A 7B 8C 6D 210,为表示“x大于等于y,y大于等于z”,应使用C语言表达式(A)A (x>=Y)&&(Y>=z)B (x>=Y)AND(y>=z)C (x>=Y>=z)D (x>=Y)&(Y>=z)11,执行以下程序段后,输出结果和a的值是(B) Int a=10;printf(“%d”,a++);A 10和 10B 10和 11C 11和 10D 11和 1112,若有int i=3, *p;p=&i ; 下列语句中输出结果为3的是(C)A printf (“%d”, &p )B printf (“%d”, *i )C printf (“%d”, *p )D printf (“%d”, p )13,C语言规定,在一个源程序中,main函数的位置(C)A 必须在最开始B 必须在系统调用的库函数的后面C 可以任意D 必须在最后14,C语言中的文件的储存方式有(C)A 只能顺序存取B 只能随机存取(或直接存取)C 可以顺序存取,也可随机存取D 只能从文件的开头进行存取15;以下read函数的调用形式中,参数类型正确的是(A)A read (int fd, char *buf, int count)B read(int *buf, int fd, int count)C read(int fd, int count, char *buf)D read(int count, char *buf, int fd ) 16,以下标识符中,不能作为合法的C用户定义标识符的是(D)A ForB PrintfC WORDD sizeof17,条件运算符的结合方式是(A)A 自右自左B 自左至右C 任意D 前后顺序18,若有说明:int a[ 3 ][ 4 ]={ 0 };则下面正确的叙述是(D)A 只有元素a[ 0 ][ 0 ]可得到初值0B 此说明语句不正确C 数组a中各元素都可得到初值,但其值不一定为0D 数组a中每个元素均可得到初值019,设有以下定义:struct sk { int a; floatb; } data, *p; 若要使p指向data中的a域,正确的赋值语句是(A)A p=( struct sk* )&data. a;B p=( struct sk ) data. a;C p=&data. a;D *p=data. a;20,下列运算符中是C语言关系运算符的是(D)A ~B !C &D !=一填空题1,C语言的三种基本结构是【顺序】结构、选择结构、循环结构2,设有以下定义语句:Int a[ 3 ] [ 2 ]={ 10, 20, 30, 40, 50, 60 },( *p ) [ 2 ];p=a;则 *(*(p+2)+1)值为【60】3,当a=1, b=2, c=3时,执行以下程序段后c=【2】if ( a>c ) b=a;a=c;c=b;4,int x=2, y=3, z=4, 则表达式x+( y>! z )的值为【3】5,设C语言中,int类型数据占2个字节,则long类型数据占【4】个字节,Short类型数据占【2】个字节二判断题1,一个include命令可以指定多个被包含的文件 N2,#define和printf都不是C语句Y3,x*=y+8等价于x=x*( y+8 ) Y4,若有定义和语句:int a; char c; float f;scanf( “%d, %c, %f”, &a,&c,&f );若通过键盘输入:10,A,12.5,则a=10, c=’A’, f=12.5 Y5,a=( b=4 )+( c=6 )是一个合法的赋值表达式Y三选择题1,已知字母a的ASCII十进制代码为97,则执行下列语句后输出的结果为(C)char a=’a’ ; a--;Printf ( “%d,%c\n”,a+’2’-’0’,a+’3’-’0’ );A b, cB a--运算不合法,故有语法错C 98,cD 格式描述和输出项不匹配,输出无定值2,C语言中函数调用的方法有(D)A 函数调用作为语句一种B 函数调用作为函数表达式一种C 函数调用作为语句或函数表达式两种D 函数调用作为语句、函数表达式或函数参数三种3,设char *s=”\ta\017bc”:则指针变量s指向的字符串所占的字节数是(C)A 9B 5C 6D 74,下列定义不正确的是(C)A #define PI 3.141592B #define S 345C int max( x,y ); int x,y; { }D static char c;5,一个C程序的执行是从(A)A 本程序的main函数开始,到main函数结束B 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C 本程序的main函数开始,到本程序文件的最后一个函数结束D 本程序文件的第一个函数开始,到本程序main函数结束6,以下程序段的输出结果为(B)for ( i=4; i>1; i-- )for ( j=1; j<i; j++ )putchar ( ‘#’ );A 无B ######C #D ###7,sizeof ( float )是(C)A 一个函数调用B 一个不合法的表达式C 一个整形表达式D 一个浮点表达式8,以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是(C)A char s[ 10 ]=”abcdefg”;B char t[ ]=”abcdefg”, *s=t;C char s[ 10 ]; s=”abcdefg”D char s[ 10 ]; strcpy( s, “abcdefg” ) 9,以下运算符中,优先级最高的运算符是(B)A ?:B ++C &&D ,10,以下选项中合法的实型常数是(C)A 5E2.0B E-3C .2E0D 1.3E11,执行语句int x=5, a=0, b=0; if ( x=a+b ) printf ( “****\n”); else printf ( “####\n” );后,结论是A 有语法错误,不能通过翻译B 能通过翻译,但不能连接C 输出****D 输出####12,C语言结构体类型变量在程序执行期间(A)A 所有成员一直驻留在内存中B 只有一个成员驻留在内存中C 部分成员驻留在内存中D 没有成员驻留在内存中13,变量的指针,其含义是指该变量的(B)A 值B 地址C 名D 一个标志14,以下语句char c=’ a ‘; if ( ‘a’<c<=’z’) printf ( “LOW”); else printf ( “UP” );执行后的结果为(A)A LOWB UPC LOWUPD 语句错误,编译不能通过15,执行下列语句的结果为(B)Int x=3, y;Int *px=&x;y=*px++;A x=3, y=4B x=3, y=3C x=4, y=4D x=3, y不知16,以下关于运算符优先顺序的描述中正确的是(C)A 关系运算符<算术运算符<赋值运算符<逻辑运算符B 逻辑运算符<关系运算符<算术运算符<赋值运算符C 赋值运算符<逻辑运算符<关系运算符<算术运算符D 算术运算符<关系运算符<赋值运算符<逻辑运算符18,若定义:int a=511, *b=&a;,则printf ( “%d\n”, *b );的输出结果为(D)A 无确定值B a的地址C 512D 51119,下列表达式中,(B )不满足“当x的值为偶数时值为真,为奇数时值为假”的要求.A x%2==0B ! x%2 !=0C ( x/2*2-x )==0D ! ( x%2 )20,全局变量的定义不可能在(A)A 函数内部B 函数外面C 文件外面D 最后一行选择题集锦1,下列字符中,能作为单个标识符的是( D )A ?AB a=2C a. 3D a_32,下列字符列中,可以作为“字符串常量”的是( B )A ABCB “ABC”C ‘abc’D ‘a’3,在以字节存储字符的系统中,‘\n’在内存占用的字节数是( A )A 1B 2C 3D 44,字符串”xyz “在内存占用的字节数是( B )A 3B 4C 6D 85,设变量m ,n ,a ,b ,c ,d的初值均为0,执行( m=a==b )||( n=c==d )后,m , n的值是()A 0 ,0B 0, ,1C 1 ,0D 1 ,16,设a为5,执行下列计算后,b的值不为2的是()A b = a / 2B b = 6-( --a )C b = a%2D b = a < 3 ? 3 : 27,执行语句” x=( a=3 , b=a-- ) ; “后,x , a , b 的值依次为()A 3 , 3 , 2B 2 , 3 , 2C 3 , 2 , 3D 2 , 3 , 38,设整形变量m , n , a , b , c , d均为1,执行” ( m=a>b )&&( n=a>b ) “后,m , n的值是()A 0 , 0B 0 , 1C 1 , 0D 1 , 19,设有代码” int a = 3 ; “则执行语句”a+=a-=a*a ; “后,变量a的值是()A 3B 0C 9D -1210,若已定义x和y为double类型,则表达式 : x = 1 , y = x + 3/2结果为()A 1B 2C 2.0D 2.511,设 a = 1 , b = 2 , c = 3 , d = 4 则表达式a < b ? a : c < d ? a : d的结果为()A 4B 3C 2D 112,若有以下定义 : char a ; int b ; float c ; double d ;则表达式a*b+d-c值得类型为()A floatB intC charD double13,设ch是char型变量,其值为’A ‘,则下面表达式的值是()ch = ( ch>=’ A ‘&& ch <= ‘ Z ‘ ) ? ( ch + 32 ) : chA ‘ A ‘B ‘ a ‘C ‘ Z ‘D ‘ z ‘14,设有int i = 010 , j = 10 ;则执行”printf ( “%d , %d\n” , ++i , j-- ) ; “的输出值是()A 11 ,10B 9 , 10C 010 , 9D 10 , 915,设a , b为字符变量,执行”scanf ( “a =%c , b = %c “ ,&a , &b )”后使a变为A,b为B,从键盘上的正确输入是()A ‘ A ‘’B ‘B ‘ A ‘ , ‘ B ‘C A = A , B = BD a = A , b = B16,下列语句中,句法错误的是()A while ( x = y ) 5;B do x++ while ( x = = 10 );C while ( 0 );D do 2 ; while ( a = = b );17,假定a和b为int型变量,则执行以下语句后b的值为()a = 1 ;b = 10 ;do { b- = a ; a++ } while ( b-- < 0 ) ;A 9B -2C -1D 818,设x和y为int型变量,则执行下面的循环后 , y的值为()for ( y = 1 , x = 1 ; y <= 50 ; y++ ) {if ( x >= 10 ) break ;If ( x%2 == 1 ) { x + =5 ; continue ; } x - = 3 ;}A 2B 4C 6D 819,下列程序的功能是输出一个整数,判断是不是素数,若为素数输出1,否则输出0,请为程序填空.main ( ){int i , x , y = 1 ;scanf ( “ %d “ , &x ) ;for ( i = 2 ; i <= x/2 ; i++ )if ___________________ { y = 0 ; break ; }printf ( “%d\n” , y ) ;}20,编一个程序,输入X的值,按下列公式计算并输出Y的值。

计算机2级C语言题库第三章 数据类型、运算符与表达式

计算机2级C语言题库第三章 数据类型、运算符与表达式

第三章数据类型、运算符与表达式一单项选择题1.下面四个选项中,均不是c语言关键字的选项是()。

A) define IF Type B) getc char printfC) include scanf case D) while go pow3.下列四个选项中,均是C语言关键字的选项是()。

A) auto enum include B) switch typedef continueC) signed union scanf D) if struct type4.下面四个选项中,均是不合法的用户标识符的选项是()。

A) A P_0 do B) float la0 _AC) b-a goto int D) _123 temp int5.以下有4组用户标识符,其中合法的一组是()。

A) For -sub Case B) 4d DO SizeC) f2_G3 IF abc D) WORD void define7.下面四个选项中,均是合法整型常量的选项是()。

A) 160 -0xffff 011 B) -0xcdf 01a 0xeC) –01986 012 0668 D) -0x48a 2e5 0xe8.下面四个选项中,均是正确的八进制数或十六进制数的选项是()。

A) -10 0x8f -011 B) 0abc -017 0xcC) 010 -0x11 0xf1 D) 0a12 -0x123 -0xa9.设C语言中,一个int型数据在内存中占2个字节,则unsigned int型数据的取值范围为()。

A) 0~255 B) 0~32767 C) 0~65535 D) 0~2147483647 10.在C语言中,不正确的int类型的常数是()。

A)32768 B)0 C)037 D)0xAF13.下面四个选项中,均是合法的浮点数的选项是()。

A) +1e+1 5e-9.4 03e2 B) -.60 12e-4 -8e5C) 123e 1.2e-.4 +2e-1 D) -e3 .8e-4 5.e-015.以下选项中合法的字符常量是()。

C语言题库

C语言题库

1、设以下变量均为int类型,则值不等于7的表达式是( C )。

A (x=y=6,x+y,x+1)B (x=y=6,x+y,y+1)C (x=6,x+1,y=6,x+y)D (x=6,x+1,y=x,y+1)2、设变量a是整型,b是实型,c是双精度型,则表达式10+'a'+b*c 值的数据类型为( C )。

A intB floatC doubleD 不确定3、设有说明:char w; int x; float y; double z; 则表达式 w*x+z-y 值的数据类型为( D )。

A floatB charC intD double4、" 使用语句scanf(""x=%f,y=%f"",&x,&y);输入变量x、y的值(□代表空格),正确的输入是__C__。

A <rt0>", 1.25,2.4B 1.25□2.4C x=1.25,y=2.4D x=1.25□y=2.45、 C语言中while和do-while循环的主要区别是( A ).A do-while的循环体至少无条件执行一次B while的循环控制条件比do-while的循控制条件严格C do-while允许从外部转到循环体内D do-while的循环体不能是复合句6、若有说明:int a[10];,则对a数组最前面一个元素的正确引用是( D )。

A a[10]B a[3.5]C a(5)D a[10-10] //范围从0到数组元素个数减17 、以下对二维数组a进行初始化的语句错误的是( C )。

A int a[2][3]={0};B int a[][3]={{1,2},{0}};Cinta[2][3]={{1,2},{3,4},{5,6}};//inta[3][2]={{1,2},{3,4},{ 5,6}}D int a[][3]={1,2,3,4,5,6};8、下述对C语言字符数组的描述中错误的是( C )A 字符数组可以存放字符串B 字符数组中的字符串可以整体输入、输出C " 可以在赋值语句中通过赋值运算符""=""对字符数组整体赋值D<rt0>", 不可以用关系运算符对字符数组中的字符串进行比较9、设i和x 都是int类型,则以下for循环( A )。

c语言考试题库

c语言考试题库

选择1若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是()。

A、9B、-12C、6D、-32用下列语句定义a,b,c,然后执行b=a、c='b'+b,则b,c的值是()。

long a=0xffffff;int b; char c;A、指向同一地址B、-1和98C、-1和97D、0ffffff 和0x613下列数组说明中,正确的是()。

A、int array[][];B、int array[3][];C、int array[][4];D、int array[][][5];4以下选项中,与k=n++完全等价的表达式是()。

A、k=n,n=n+1B、n=n+1,k=nC、k+=n+1D、k=++n5以下叙述中正确的是()。

A、构成C程序的基本单位是函数B、所有被调用的函数一定要在调用之前进行定义C、可以在一个函数中定义另一个函数D、main()函数必须放在其它函数之前6一个C程序的执行是从()。

A、本程序文件的第一个函数开始,到本程序main函数结束B、本程序的main函数开始,到main函数结束C、本程序的main函数开始,到本程序文件的最后一个函数结束D、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束7以下定义语句中,错误的是()。

A、char *a[3];B、int a[]={1,2};C、char s[10]="test";D、int n=5,a[n];8以下对一维整型数组a的正确说明是()。

A、#define SIZE 10 (换行) int a[SIZE];B、int a(10);C、int n; scanf("%d",&n); int a[n];D、int n=10,a[n];9以下程序运行后的输出结果是。

struct STU{ char name[10];int num;int score;};main(){struct STU s[5] = {{"YangSan", 20041,703}, {"LiSiGuo",20042, 580},{"WangYin",20043,680},{"SunDan", 20044, 550},{"Penghua",20045,537}}, *p[5], *t;int i, j;for(i = 0; i < 5; i++) p[i] = &s[i];for(i = 0; i < 4; i++)for(j = i + 1; i < 5; j++)if(p[i] ->score >p[j] ->score){t = p[i]; p[i] = p[j]; p[j] = t; }printf("%d %d\n", s[1].score, p[1] ->score);}A、580 680B、680 680C、580 550D、550 58010以下数据中,不正确的数值或字符常量是()。

(完整版)C语言试题库(完整版)

(完整版)C语言试题库(完整版)

C语言试题库一、单项选择第一章 C语言概述(1)一个C程序的执行是从A、本程序的MAIN函数开始,到MAIN 函数结束。

B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。

C、本程序的MAIN函数开始,到本程序的最后一个函数结束。

D、本程序文件的第一个函数开始,到本程序的MAIN函数结束。

(2)以下叙述正确的是A、在C程序中,MAIN函数必须位于程序的最前面。

B、 C程序的每行中只能写一条语句。

C、 C语言本身没有输入输出语句。

D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误。

(3) C语言规定,在一个源程序中,MAIN主函数的位置是在:A、必须在最前面。

B、必须在系统调用的库函数的后面C、可以在任意位置。

D、必须在最后面(4)一个C程序是由:A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成(5)以下叙述不正确的是:A、一个C源程序可由一个或多个函数组成B、一个C源程序必须包含一个MAIN函数C、 C程序的基本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面第二章数据类型、运算符与表达式(1)若x, i, j, k都是int型变量,则计算下面表达式后,x的值为x=( i=4, j=16, k=32)A、4B、16C、32D、52(2)下列四组选项中,均不是C语言键字的选项是A、define , IF, typeB、getc, char, printfC、include, scanf, caseE、 if, struct, type(3)下面四个选项中,均是不合法的用户标识符的选项是A、A,P_0,doB、float,1a0, _AC、b-a, goto, intD、_123, temp, INT(4)若有代数式3ae/bc,则正确的C语言表达式是A、a/b/c*e*3B、3*a*e/bcC、3*a*e/b*cD、a*e/c/b*3(5)已知各变量的类型说明如下:int k, a, b;unsinged long w=5;double x=1.42;则以下不符合C语言语法的表达式是A、x%(-3)B、w+=-2;C、k=(a=2,b=3,a+b)D、a+=a-=(b=4)*(a=3)第三章简单C程序设计(1)putchar函数可以向终端输出一个A、整型变量表达式值B、实型变量值C、字符串D、字符或字符型变量值(2)若x,y均定义为int型,z定义为double 型,以下合法的scanf函数调用语句是A、scanf(“%d%lx,%le”,&x,&y,&z);B、scanf(“%2d*%d%lf”,&x,&y,&z);C、scanf(“%x%*d%o”,&x,&y,&z);D、scanf(“%x%o%6.2f”,&x,&y,&z);(3)当输入数据的形式为:25,13,10<回车>时,以下程序的输出结果为main(){int x,y,z;scanf(“%d%d%d”,&x,&y,&z);printf(“x+y+z=%d\n”,x+y+z);}A、x+y+z=48B、x+y+z=35C、x+z=35D、不确定值(4) 以下能正确的定义整型变量a,b和c,并对它们赋初值为5的语句是A、int a=b=c=5;B、int a, b, c=5;C、a=5, b=5, c=5;D、a=b=c=5;(5) 若有以下定义,则正确的赋值语句是int a,b; float x;A、a=1, b=2;B、b++;C、a=b=5;D、b=int(x);第四章选择结构程序设计(1)能正确表示“当x的值在[1,10]和[200,210]的范围为真,否则为假”的表达式是A、(x>=1)&&(x<=10)&&(x.>=200)&&(x<=210)B、(x>=1)││(x<=10) ││(x.>=200) ││(x<=210)C、(x>=1) &&(x<=10) ││(x.>=200) &&(x<=210)D、(x>=1)││(x<=10)&& (x.>=200) ││(x<=210)(2)以下程序的运行结果是#include “stdio.h”main(){int a,b,d=241;a=d/100%9;b=(-1)&&(-1);printf(“%d,%d”,a,b);}A、6,1B、2,1C、6,0D、2,0(3)请阅读以下程序:main(){int a=5 , b=0 , c=0;if (a+b+c) printf(“* * *\n”); else printf(“$ $ $\n”); }以上程序。

C语言考试题库及答案

C语言考试题库及答案

C语言考试题库及答案C语言理论上机考试选择题部分(共200题)1、下面程序的输出是___D______#include<stdio.h>void main(){ int k=11;printf("k=%d,k=%o,k=%x\n",k,k,k);}A) k=11,k=12,k=11B) k=11,k=13,k=13C) k=11,k=013,k=0xbD) k=11,k=13,k=b2、在下列选项中,不正确的赋值语句是__D______.A) ++t; B) n1=(n2=(n3=0));C) k=i=j; D) a=b+c=1;3、下面合法的C语言字符常量是______A____. A) '\t' B) "A"C) 65 D) A4、表达式: 10!=9的值是________D____.A) true B) 非零值C) 0 D) 15、C语言提供的合法的数据类型关键字是_____B____.A) Double B) short C) integer D) Char6、字符(char)型数据在微机内存中的存储形式是__D__.A) 反码B) 补码C) EBCDIC码D) ASCII码7、C语言程序的基本单位是_____C______.A) 程序行B) 语句C) 函数D) 字符8、设int a=12,则执行完语句a+=a-=a*a后,a的值是____D____A) 552 B) 264 C) 144 D) -2649、执行下面程序中的输出语句后,输出结果是____B__.#include<stdio.h>void main(){int a;printf("%d\n",(a=3*5,a*4,a+5));}A) 65 B) 20 C) 15 D) 1010、下面程序的输出是____B______.#include<stdio.h>void main(){int x=023;printf("%d\n",--x);}A) 17 B) 18C) 23 D) 2411、下面程序的输出的是_____C____.#include<stdio.h>void main(){int x=10,y=3;printf("%d\n",y=x/y);}A) 0 B) 1 C)3 D) 不确定的值12、已知字母A的ASCII 码为十进制的65,下面程序的输出是______A_____.#include<stdio.h>void main(){char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}A) 67,D B) B,C C) C,D D) 不确定的值13、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为____D__.A) a<>0 B) !a C) a=0 D) a14、以下程序的输出结果是____D_____.#include<stdio.h>void main(){ int x=10,y=10;printf("%d %d\n",x--,--y);}A) 10 10 B) 9 9 C) 9 10 D) 10 9 15、设有如下定义:int x=10,y=3,z;则语句printf("%d\n",z=(x%y,x/y));的输出结果是_____D_____.A) 1 B) 0 C) 4 D) 316、为表示关系x≥y≥z,应使用C语言表达式___A___.A) (x>=y)&&(y>=z)B) (x>=y)AND(y>=z)C) (x>=y>=z)D) (x>=y) & (y>=z)17、C语言中非空的基本数据类型包括____B____.A) 整型,实型,逻辑型B) 整型,实型,字符型C) 整型,字符型,逻辑型D) 整型,实型,逻辑型,字符型18、若x和y都是int型变量,x=100,y=200,且有下面的程序片段:printf("%d",(x,y)); 上面程序片段的输出结果是____A___.A) 200 B) 100 C) 100 200 D) 输出格式符不够,输出不确定的值19、阅读下面的程序#include<stdio.h>void main(){char ch;scanf("%3c",&ch);printf("%c",ch);}如果从键盘上输入abc<回车>则程序的运行结果是__A_____.A) a B) b C) c D) 程序语法出错20、阅读下面的程序#include<stdio.h>void main(){int i,j;i=010;j=9;printf("%d,%d",i-j,i+j);}则程序的运行结果是____D____.A) 1,19 B) -1,19 C) 1,17 D) -1,1721、阅读下面的程序#include<stdio.h>void main(){int i,j,m,n;i=8;j=10;m=++i;n=j++;printf("%d,%d,%d,%d",i,j,m,n);}程序的运行结果是______C____.A) 8,10,8,10 B) 9,11,8,10C) 9,11,9,10 D) 9,10,9,1122、已知a=12,则表达式a+=a-=a*=a的结果是_____A__.A) 0 B) 144C) 12 D) -26423、若已定义int a,则表达式a=10,a+10,a++的值是__B_.A) 20 B) 10 C) 21 D) 1124、阅读下面的程序#include<stdio.h>void main(){int i,j;scanf("%3d%2d",&i,&j);printf("i=%d,j=%d\n",i,j);}如果从键盘上输入1234567<回车>,则程序的运行结果是____D____.A) i=123,j=4567 B) i=1234,j=567C) i=1,j=2 D) i=123,j=4525、下面程序的输出结果是____D____.#include<stdio.h>void main(){int a=-1, b=4, k;k=(++a<=0)&&(b--<=0);printf("%d,%d,%d\n",k,a,b);}A) 1,1,2 B) 1,0,3 C) 0,1,2 D) 0,0,326、下面程序的输出结果是____A____.#include<stdio.h>void main(){int a=5,b=3;float x=3.14, y=6.5;printf("%d,%d\n",a+b!=a-b,x<=(y-=6.1));}A) 1,0 B) 0,1 C) 1,1 D) 0,027、执行下面程序段后,输出结果是____A____.int a;int b=65536;a=b;printf("%d\n",a);A) 65536 B) 0 C) -1 D) 128、若有以下定义和语句:int a=010, b=0x10, c=10;printf("%d,%d,%d\n",a,b, c);则输出结果是____B_____.A) 10,10,10 B) 8,16,10C) 8,10,10 D) 8,8,1029、已知有double型变量x=2.5,y=4.7,整型变量a=7, 则表达式x+a%3*(int)(x+y)%2/4 的值是_____B____.A) 2.4 B) 2.5 C) 2.75 D) 030、若已定义x和y是整型变量,x=2;,则表达式y=2.75+x/2的值是____C____.A) 5.5 B) 5 C) 3 D) 4.031、以下程序的输出结果是____D____.#include<stdio.h>void main(){int a=12, b=12;printf("%d,%d\n",--a,++b);}A) 10,10 B) 12,12 C) 11,10 D) 11,1332、设有以下语句:int x=10;x+=3+x%(3),则x的值是.____A_____A) 14 B) 15 C) 11 D) 1233、若d为double型变量,则表达式d=1,d+5,d++的值是_____D__.A) 1 B) 6.0 C) 2.0 D) 1.034、表达式5!=3的值是____D____.A) T B) 非零值C) 0 D) 135、若有定义int a=12,n=5,则表达式a%=(n%2)运算后,a的值______A____.A) 0 B) 1 C) 12 D) 636、若有定义int x=3,y=2和float a=2.5,b=3.5,则表达式:(x+y)%2+(int)a/(int)b的值是__D__.A) 0 B) 2C) 1.5 D) 137、在C语言中,以下叙述不正确的是_____A____.A) 在C程序中,无论是整数还是实数,都能被准确无误的表示B) 在C程序中,变量名代表存储器中的一个位置C) 静态变量的生存期与整个程序的生存期相同D) C语言中变量必须先定义后引用38、C语言中的变量名只能由字母,数字和下划线三种字符组成,且第一个字符____C____.A) 必须为字母B) 必须为下划线C) 必须为字母或下划线D) 可以是字母,数字或下划线中的任意一种39、设有说明:char w; int x; float y; double z; 则表达式: w*x+z-y值的数据类型是___D____.A) float B) char C) int D) double40、一个C语言的执行是从_____A______.A) 本程序的主函数开始,到本程序的主函数结束B) 本程序的第一个函数开始,到本程序的最后一个函数结束C) 本程序的主函数开始,到本程序的最后一个函数结束D) 本程序的第一个函数开始,到本程序的主函数结束41、设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是____A____.A) 10<a<15 B) a==11||a==12||a==13||a==14C) a>10&&a<15D) !(a<=10)&&!(a>=15)42、下列程序执行后的输出结果是_____C____.#include <stdio.h>void main( ){ int a=5,b=60,c;if (a<b){c=a*b;printf("%d*%d=% d\n",b,a,c);}else{c=b/a;printf("%d/%d=%d \n",b,a,c);}}A) 60/5=12 B) 300 C) 60*5=300 D) 1243、如果c为字符型变量,判断c是否为空格不能使用____A____.(假设已知空格ASCII码为32) A) if(c=='32') B) if(c==32)C) if(c=='\40') D) if(c==' ')44、运行下面程序时,若从键盘输入"3,5<CR>",则程序的输出结果是____D____. #include <stdio.h>void main( ){int x,y;scanf("%d,%d",&x,&y);if (x==y)printf("x==y");else if (x>y)printf("x>y");elseprintf("x<y");}A) 3<5 B) 5>3 C) x>y D) x<y45、运行下面程序时,若从键盘输入数据为"6,5,7<CR>",则输出结果是____C___.#include <stdio.h>void main( ){ int a,b,c;scanf("%d,%d,%d",&a,&b ,&c);if (a>b)if (a>c)printf("%d\n",a);elseprintf("%d\n",c);elseif (b>c)printf("%d\n",b);elseprintf("%d\n",c);}A) 5 B) 6 C) 7 D) 不定值46、执行下面程序时,若从键盘输入"2<CR>",则程序的运行结果是____A____.#include <stdio.h>void main( ){ int k; char cp;cp=getchar( );if (cp>='0' && cp<='9')k=cp-'0';else if (cp>='a' && cp<='f')k=cp-'a'+10;elsek=cp-'A'+10;printf("%d\n",k);}A) 2 B) 4 C) 1 D) 1047、运行下面程序时,从键盘输入"2.0<CR>",则输出结果是___B_____.#include <stdio.h>void main( ){ float a,b;scanf("%f",&a);if (a<0.0) b=0.0;else if ((a<0.5) && (a!=2.0)) b=1.0/(a+2.0);else if (a<10.0) b=1.0/2;elseb=10.0;printf("%f\n",b);}A) 0.000000 B)0.500000C) 1.000000 D)0.25000048、执行下面程序后,运行结果是____A____.#include <stdio.h>void main( ){ int x=41,y=1;if (x%3==0 && x%7==0){ y+=x;printf("y=%d\n",y); }else{y=x;printf("y=%d",y);}}A) y=41 B) y=43 C) y=42 D) y=149、运行下面程序时,从键盘输入"12,34,9<CR>",则输出结果是___A___.#include <stdio.h>void main( ){ int x,y,z;scanf("%d,%d,%d",&x,&y ,&z);if (x<y)if(y<z)printf("%d\n",z);elseprintf("%d\n",y);else if (x<z)printf("%d\n",z);elseprintf("%d\n",x);}A) 34 B) 12 C)9 D) 不确定的值50、运行下面程序时,从键盘输入字母H,则输出结果是_____C___.#include <stdio.h>void main( ){ char ch;ch=getchar( );switch(ch){ case 'H':printf("Hello!\n");case'G':printf("Good morning!\n");default:printf("Bye_Bye!\n ");}}A) Hello!B) Hello!Good Morning!C) Hello!D) Hello!Good morning!Bye_Bye!Bye_Bye!51、执行下列程序段后的输出结果是_____A____.int x=1,y=1,z=1;x+=y+=z;printf("%d\n",x<y?y:x); A) 3 B) 2 C) 1 D) 452、设ch是char型变量,值为'A',则表达式ch=(ch>='A' && ch<='Z')?ch+32:ch的值是__B___.A) Z B) a C) z D) A53、下面程序的输出结果是____C____.#include <stdio.h>void main( ){ int x=8,y=-7,z=9;if (x<y)if (y<0) z=0;else z-=1;printf("%d\n",z);}A) 8 B) 1 C) 9 D) 054、运行下面程序时,若从键盘输入"5 <CR>",则程序的输出结果是_____B___.#include <stdio.h>void main( ){ int a ;scanf("%d",&a);if(a++>5)printf("%d\n",a);elseprintf("%d\n",a--) ;}A) 7 B) 6 C) 5 D) 455、运行下面程序时,若从键盘输入"3,4 <CR>",则程序的输出结果是____B___.#include <stdio.h>void main( ){ int a,b,s;scanf("%d,%d",&a,&b);s=a;if (s<b) s=b;s=s*s;printf("%d\n",s) ;}A) 14 B) 16 C) 18 D) 2056、下列程序的执行结果是_____D____.#include <stdio.h>void main( ){ int x=0,y=1,z=0;if (x=z=y)x=3;printf("%d,%d\n",x,z);}A) 3,0 B) 0,0C) 0,1 D) 3,157、假定等级和分数有以下对应关系:等级:A 分数:85~100等级:B 分数:60~84等级:C 分数:60 以下对于等级grade输出相应的分数区间,能够完成该功能的程序段是____D____. A) switch (grade){case'A':printf("85--100\n");case'B':printf("60--84\n");case 'C':printf("60以下\n");default:printf("等级错误!\n");}B) switch (grade){case'A':printf("85--100\n");bre ak;case'B':printf("60--84\n");case 'C':printf("60以下\n");default:printf(" 等级错误!\n");}C) switch (grade){case'A':printf("85--100\n");bre ak;case'B':printf("60--84\n");brea k;case 'C':printf("60以下\n");default:printf("等级错误!\n");}D) switch (grade){case'A':printf("85--100\n");bre ak;case'B':printf("60--84\n");brea k;case 'C':printf("60以下\n");break;default:printf("等级错误!\n");}58、能够完成如下函数计算的程序段是__B____.┌-1 x<0y= ┤0 x=0└ 1 x>0A) y=1; B) if (x>=0)if(x!=0)if(x>0) y=1;if(x>0) y=1; else y=0;else y=0; else y=-1;C) y=0; D) y=-1;if (x>=0) if (x>0) y=1;if (x>0) y=1; else y=0;else y=-1;59、有如下程序#include <stdio.h>void main( ){ float x=5.0,y;if(x<0.0) y=0.0;else if (x<10.0) y=1.0/x;else y=1.0;printf("%f\n",y);}该程序的输出结果是____C_____.A) 0.000000 B) 0.50000C) 0.200000 D)1.00000060、以下程序的执行结果是___B_____.#include <stdio.h>void main( ){ int x=1,y=0;switch (x){case 1:switch (y){case0:printf("first\n");break;case1:printf("second\n");break;}case2:printf("third\n");}}A) first B) firstsecondthirdC) first D) secondthird61、以下程序的执行结果是____A____.#include <stdio.h>void main( ){ int a,b,c,d,x;a=c=0;b=1;d=20;if (a) d=d-10;else if(!b)if (!c) x=15;else x=25;printf("d=%d\n",d); }A) d=20 B) d=10 C) d=15 D) 2562、有如下程序:#include <stdio.h>void main( ){ int a=2,b=-1,c=2;if (a<b)if (b<0) c=0;else c++;printf("%d\n",c);} 该程序的输出结果是___C_____.A) 0 B) 1 C) 2 D) 363、下列程序执行后的输出结果是____B____.#include <stdio.h>void main( ){ int x,y=1,z;if ((z=y)<0) x=4;else if (y==0) x=5;else x=6;printf("%d,%d\n",x,y);}A) 4,1 B) 6,1 C) 5,0 D) 出错信息64、有如下程序#include <stdio.h>void main( ){ int x=1,a=0,b=0;switch(x){case 0: b++;case 1: a++;case 2: a++;b++;}printf("a=%d,b=%d\n",a,b );}该程序的输出结果是______A____.A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=265、下面程序的输出结果是____C_____.#include <stdio.h>void main( ){ int a=-1,b=1,k;if ((++a<0) && (b--<=0))printf("%d %d\n",a,b);else printf("%d %d\n",b,a);}A) -1 1 B) 0 1C) 1 0 D) 0 066、假定w、x、y、z、m均为int型变量,有如下程序段:w=1;x=2;y=3;z=4;m=(w<x)?w:x;m=(m<y)?m:y;m=(m<z)?m:z;则该程序段执行后,m的值是____D_____.A) 4 B) 3 C) 2 D) 167、以下程序的输出结果是___D______.main( ){ int a=100;if (a>100) printf("%d\n",a>100);elseprintf("%d\n",a<=100);}A) a<=100 B) 100 C) 0 D) 168、若执行下面的程序从键盘上输入9,则输出结果是.______B________#include <stdio.h>void main( ){int n;scanf("%d",&n);if (n++<10) printf("%d\n",n);elseprintf("%d\n",n--);}A) 11 B) 10 C) 9 D) 869、以下程序输出结果是_____D_____.#include <stdio.h>void main( ){ int m=4;if (++m>5) printf("%d\n",m--);elseprintf("%d\n",--m);}A) 7 B) 6 C) 5 D) 470、若执行下面的程序从键盘上输入5,则输出结果是. #include <stdio.h>void main( ){int x;scanf("%d",&x);if (x++>5) printf("%d\n",x);else printf("%d\n",x--); }A) 7 B) 6 C) 5 D) 471、以下程序段运行结果是____A____.int x=1,y=1,z=-1;x+=y+=z;printf("%d\n",x<y?y:x);A) 1 B) 2 C)4 D) 不确定的值72、有以下程序#include <stdio.h>void main( ){ int a,b,c=246;a=c/100%9;b=(-1)&&(-1);printf("%d,%d\n",a,b);}输出结果是____A____.A) 2,1 B) 3,2 C) 4,3 D) 2,-173、运行下面程序时,若从键盘输入数据为"123",则输出结果是___C____.#include "stdio.h"void main(){ int num,i,j,k,place;scanf("%d",&num);if (num>99)place=3;else if(num>9)place=2;elseplace=1;i=num/100;j=(num-i*100)/10;k=(num-i*100-j*10);switch (place){ case 3: printf("%d%d%d\n",k,j,i);break;case 2: printf("%d%d\n",k,j);break;case 1: printf("%d\n",k);}}A) 123 B) 1,2,3 C) 321 D) 3,2,174、执行下列程序后的输出结果是___D____.#include <stdio.h>void main( ){ int k=4,a=3,b=2,c=1;printf("%d\n",k<a?k:c<b?c :a);}A) 4 B) 3 C) 2 D) 175、以下条件表达式中能完全等价于条件表达式x的是____B___.A) (x==0) B) (x!=0) C) (x==1) D) (x!=1)76、若运行下面程序时,给变量a输入15,则输出结果是___A___.#include <stdio.h>void main( ){ int a,b;scanf("%d",&a);b=a>15?a+10:a-10;printf("%d\n",b) ;}A) 5 B) 25 C) 15 D) 1077、运行下面程序后,输出是___D___.#include <stdio.h>void main( ){ int k=-3;if (k<=0) printf("****\n");elseprintf("####\n")}A) ####B) ****C) ####****D) 有语法错误不能通过编译78、执行下面程序的输出结果是____C____.#include <stdio.h>void main( ){ int a=5,b=0,c=0;if (a=a+b) printf("****\n");elseprintf("####\n");}A) 有语法错误不能编译B) 能通过编译,但不能通过连接C) 输出****D) 输出####79、为了避免嵌套的if-else 语句的二义性,C语言规定else总是与___C___组成配对关系.A) 缩排位置相同的ifB) 在其之前未配对的ifC) 在其之前尚未配对的最近的ifD) 同一行上的if 80、设x 、y 、z 、t均为int型变量,则执行以下语句后,t的值为____C_____.x=y=z=1;t=++x || ++y && ++z;A) 不定值B) 4 C) 1 D) 081、以下程序段____C______.x=-1;do{x=x*x;} while (!x);A)是死循环B)循环执行两次C)循环执行一次D)有语法错误82、对下面程序段描述正确的是___B____.int x=0,s=0;while (!x!=0) s+=++x;printf("%d",s);A) 运行程序段后输出0B) 运行程序段后输出1C) 程序段中的控制表达式是非法的D) 程序段循环无数次83、下面程序段的输出结果是____C____.x=3;do { y=x--;if (!y) {printf("*");continue;}printf("#");} while(x=2); A) ## B) ##* C) 死循环D)输出错误信息84、下面程序的运行结果是____B____.#include<stdio.h>void main( ){ int a=1,b=10;do{ b-=a;a++;} while(b--<0);printf("%d,%d\n",a,b);}A) 3,11 B) 2,8 C) 1,-1 D) 4,985、下面程序段的运行结果是____B______.int n=0;while (n++<=2)printf("%d",n); A) 012 B) 123 C) 234 D) 错误信息86、下面程序段的运行结果是___D_____.int x=0,y=0;while (x<15) y++,x+=++y;printf("%d,%d",y,x);A) 20,7 B) 6,12C) 20,8 D)8,2087、下面程序的运行结果是___B_____.#include<stdio.h>void main(){ int s=0,i=1;while (s<=10){ s=s+i*i;i++;}printf("%d",--i);}A) 4 B) 3 C) 5 D) 688、函数pi的功能是根据以下近似公式求π值:____C______(π*π)/6=1+1/(2*2)+1/(3*3)+. .+1/(n*n)请填空,完成求π的功能。

C语言题库(带答案)-排版

C语言题库(带答案)-排版

一、选择题1、以下不能定义为用户标识符的是( )。

2、以下不能定义为用户标识符的是( )3、下面属于C 语言标识符的是( )。

4、下列符号中用来表示C 语言中的回车换行的是( )。

(A) \r 5、在计算机系统中,可执行程序是( ) (A) 源代码(B)汇编语言代码(D) ASCII 码6、在Visual C++ 6.0环境下,C 源程序文件名的默认后缀是( )。

7、Microsoft Visual C++ 6.0中,C 语言可执行程序的扩展名是:( )或cpp (D) txt 8、C 程序由( )组成。

(A)子程序 (B) 主程序和子程序过程 9、C 程序的基本组成单位( )。

(A) 数据类型(B) 变量和常量 表达式 10、C 语言中主函数的个数是( )。

(A) 2个任意个 (D) 10个 11、一个C 程序的执行是从( )(B)本程序文件的第一个函数开始,到本程序文件最后一个函数结束. (C)本程序文件的第一个函数开始,到本程序main 函数结束. (D)本程序的main()函数开始,到本程序文件的最后一个函数结束. 12、以下叙述正确的是(A)在C 语言程序中,main函数必须放在其他函数的最前面 (C)在C 语言程序中,只有main 函数才可单独进行编译 (D)每个后缀为.C 的C 语言源程序都应该包含一个main 函数13、设变量a 是整型,b 是实型,c 是双精度型,则表达式2+’a’+b*c 值的数据类型是( )。

(A) int (B) float 14、以下选项中表示一个合法的常量是(说明:符号□表示空格)A) 9□9□15、以下选项中非法的字符常量是16、以下选项中,能表示逻辑值“假”的是17、下列关系表达式中,结果为“假”的是18、关于C 语言变量,以下说法不正确的是( ) (A) 变量名由程序员定义,必须符合标识符的命名规则。

(B) 变量是程序运行过程中其值可以改变的量。

C语言题库(194道)

C语言题库(194道)

C语言1、以下叙述不正确的是()。

——[单选题]A c程序中,语句之间必须用分号分隔。

B c程序中,多行语句可以写在一行上。

C c程序中,可以不必包含主函数。

D 一个c程序,可以由多个函数组成正确答案:C2、c语言规定,在一个源程序中,main函数的位置()——[单选题]A 必须在最开始B 必须在系统调用库函数的后面C 可以任意D 必须在最后正确答案:C3、以下叙述不正确的是()。

——[单选题]A main函数必须位于程序的最前面B c程序中,每行可以写多条语句C c语言本身不提供输入输出语句。

D 在对c语言程序进行编译的过程中,不能发现注释中的错误正确答案:A4、一个C程序的执行是从()——[单选题]A 本程序的main函数开始,到main函数结束B 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C 本程序文件的第一个函数开始,到本程序main函数结束D 本程序的main函数开始,到本程序文件的最后一个函数结束正确答案:A5、以下叙述不正确的是()——[单选题]A 一个C源程序必须包含一个main函数B 一个C源程序可由一个或多个函数组成C C程序的基本组成单位是函数D 在C程序中,注释说明只能位于一条语句的后正确答案:D6、以下叙述不正确的是()。

(2分)——[单选题]A 1. 若a和b类型相同,在计算了赋值表达式a=b后,b中的值将放入a中,且b中的值不变。

B 1. 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值。

C 1. 在C程序中,逗号运算符的优先级最低。

D 1. 在C程序中,MAX和max是两个不同的变量。

正确答案:B7、已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句:c2='A'+'6'-'3';printf("%c",c2);后,屏幕输出内容为()。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言程序设计表达式
一、表达式求值
1.表达式:!(4<=6)&&(3<=7) 的值为_______ 0
2.表达式:x=!(2<5==5) 的值为【1】1
3.如果有变量定义:int i=1,j=8,a;则表达式:a=i+(j%4!=0) 的值为_【1】1
4.表达式:x=(7+6)%4/2 的值为【1】0
5.如果有变量定义:int x,则表达式:x=-3*4%-6/50 的值为【1】0
6.如果有变量定义:int x ,则表达式:x=3+7%5-6 的值为【1】-1
7.如果有变量定义:int x,则表达式:x=-3+4/5-6 的值为【1】-9
8.如果有变量定义:int x=3,y=4,z=4则表达式:z>=y&&y>=x 的值为_____ 1
9.如果有变量定义:int x=3,y=4,z=4则表达式:(z>=y>=x)1:0 的值为____ 0
10.如果有变量定义:int x=0,y=0,z=0则表达式:k=++x&&++y||++z 的值为_____ 1
11. 如果有变量定义:int x=0,y=0,z=0则表达式:k=++x||++y&&++z 的值为______ 1
12. 如果有变量定义:int x=40,y=4,z=4则表达式:x=x==(y-z) 的值为____ 0
13.如果有变量定义:int a=15,则表达式:a=a<<1 的值为【1】30
14.如果有变量定义:int y;char x='a';则表达式:y='a'+1 的值为【1】98
15.如果有变量定义float x=,y=则表达式:x<y:的值为【1】
16.如果有变量定义:int a=1,b=2,c=3,d=5则表达式:a>b a : c>d c : d 的值为
【1】 5
17.如果有变量定义:int a=1,b=3,m 则表达式:m=a>b a : b+1 的值为【1】4
18.如果有变量定义:int a=1,b=2则表达式:(!a)||(a>b) 的值为_______ 0
19. 如果有变量定义:int a=1,b=2,c=1,x=4,y=5则表达式:!a&&b||x>y&&c 的值为______ 0
20如果有变量定义:int a=12,n=5则表达式:a%=(n%=2) 的值为_______ 0
21如果有变量定义:int a=2, b=3;float x=, y=则表达式:(float)(a+b)/2+(int)x%(int)y 的值为【1】22如果有变量定义:int x=, y=则表达式:z=(int)x%(int)y 的值为【1】1
23如果有变量定义:int x=,a=7,y=则表达式:k=a%3*(x+y)/2 的值为【1】3
24如果有变量定义:int a=5则表达式:a*=1+3 的值为【1】20
25如果有变量定义:int a,b则表达式:b=(a=3*4, a*4),a+5 的值为【1】17
26如果有变量定义:int a,b 则表达式:x=a=3,5*a 的值为【1】15
27如果有变量定义:int a=120 则表达式:a%=(5%2) 的值为【1】0
28如果有变量定义:int a=10则表达式:a+=a-=a*=a 的值为【1】0
29 如果有变量定义:int a=10则表达式:a+=a-=a*a 的值为【1】-180 30 如果有变量定义:int i=3则表达式:j=i++ 的值为【1】3
31如果有变量定义:int i=3则表达式:j=++i 的值为【1】4
32表达式5&7的值为【1】,5│7的值为【2】. 5 7。

相关文档
最新文档