C语言全套试题
(完整word)C语言考试试题.
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”);
100条经典C语言笔试题目(全)
100条经典C语言笔试题目1、请填写bool,float,指针变量与“零值”比较的if语句。
提示:这里“零值”可以是0,0.0,FALSE 或者“空指针”。
例如int变量n与“零值”比较的if语句为:if ( n == 0 )if ( n != 0 )以此类推。
(1)请写出 bool flag 与“零值”比较的 if 语句:【标准答案】if ( flag )if ( !flag )(2)请写出 float x 与“零值”比较的 if 语句:【标准答案】 const float EPSINON = 0.00001;if ((x >= - EPSINON) && (x <= EPSINON)不可将浮点变量用“==”或“!=”与数字比较,应该设法转化成“>=”或“<=”此类形式。
(3)请写出 char *p 与“零值”比较的 if 语句【标准答案】 if (p == NULL)if (p != NULL)2、以下为 Linux下的 32 位 C程序,请计算 sizeof 的值。
char str[] = “Hello” ;char *p = str ;int n = 10;请计算(1)sizeof (str ) =(2)sizeof ( p ) =(3)sizeof ( n ) =【标准答案】(1)6、(2)4、(3)4(4)void Func ( char str[100]) {……;} 请计算 sizeof( str ) = (5)void *p = malloc( 100 );请计算sizeof ( p ) =【标准答案】(4)4、(5)43、 long a=0x801010;a+5=?【标准答案】0x801010用二进制表示为:“1000 0000 0001 0000 0001 0000”,十进制的值为8392720,再加上5就是8392725。
4、用变量a给出下面的定义e) 一个有10个指针的数组,该指针是指向一个整型数的;f) 一个指向有10个整型数数组的指针 ;g) 一个指向函数的指针,该函数有一个整型参数并返回一个整型数;h) 一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数;【标准答案】e)int * a[10]; f)int (*a)[10]g)int (*a)(int); h) int (*a[10])(int)5、设有以下说明和定义:typedef union {long i; int k[5]; char c;} DATE;struct data { int cat; DATE cow; double dog;} too;DATE max;则语句 printf("%d",sizeof(struct date)+sizeof(max));的执行结果是:_____【标准答案】DATE是一个union, 变量公用空间. 里面最大的变量类型是int[5], 占用20个字节. 所以它的大小是20.data是一个struct, 每个变量分开占用空间. 依次为int4 + DATE20 + double8 = 32.所以结果是 20 + 32 = 52。
C语言题库(带详解答案)
一单项选择题1.(A)是构成C语言程序的基本单位。
A、函数B、过程C、子程序D、子例程2.C语言程序从 C开始执行。
A) 程序中第一条可执行语句 B) 程序中第一个函数C) 程序中的main函数 D) 包含文件中的第一个函数3、以下说法中正确的是(C)。
A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main( )函数中定义C、C语言程序总是从main( )函数开始执行D、C语言程序中的main( )函数必须放在程序的开始部分4.下列关于C语言的说法错误的是(B)。
A) C程序的工作过程是编辑、编译、连接、运行B) C语言不区分大小写。
C) C程序的三种基本结构是顺序、选择、循环D) C程序从main函数开始执行5.下列正确的标识符是(C)。
A.-a1B.a[i]C.a2_iD.int t5~8题为相同类型题考点:标识符的命名规则(1)只能由字母、数字、下划线构成(2)数字不能作为标识符的开头(3)关键字不能作为标识符选项A中的“-” ,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3)6.下列C语言用户标识符中合法的是( B)。
A)3ax B)x C)case D)-e2 E)union选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1);7.下列四组选项中,正确的C语言标识符是(C)。
A) %x B) a+b C) a123 D) 123选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2)8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。
A、print _3d db8 aBcB、I\am one_half start$it 3paiC、str_1 Cpp pow whileD、Pxq My->book line# His.age选项B中的“\”,”$” ,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while 为关键字,不满足(3)9.C语言中的简单数据类型包括(D)。
c语言考试题及答案详解
c语言考试题及答案详解C语言考试题及答案详解一、选择题1. 下列哪个是C语言的关键字?A. voidB. mainC. returnD. print答案:A2. C语言中,哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C二、填空题1. 在C语言中,用于定义一个整型变量的关键字是 ____ 。
答案:int2. 以下代码段的输出结果是____。
```cint a = 5;printf("%d", a++);```答案:5三、简答题1. 请简述C语言中数组的定义方式。
答案:在C语言中,数组的定义方式是通过指定数据类型、数组名和数组的大小。
例如,定义一个整型数组,大小为10,可以写作:int array[10];四、编程题1. 编写一个C程序,实现求两个整数的和,并输出结果。
```c#include <stdio.h>int main() {int num1, num2, sum;printf("Enter two numbers: ");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("Sum is: %d\n", sum);return 0;}```五、论述题1. 论述C语言中指针的概念及其重要性。
答案:指针是C语言中的一个重要概念,它存储了变量的内存地址。
指针的重要性在于它允许程序员直接操作内存,这使得动态内存分配、数组操作、函数参数传递等成为可能。
指针的使用提高了程序的灵活性和效率,但也增加了编程的复杂性。
六、案例分析题1. 给定以下C语言代码段,分析其功能并指出可能存在的问题。
```cint func(int *p) {return *p * 10;}int main() {int a = 5;printf("%d\n", func(&a));return 0;}```答案:该代码段定义了一个函数`func`,它接受一个整型指针作为参数,并返回该指针指向的值乘以10的结果。
C语言试题库(含答案)
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语言概述、算法、数据类型运算符表达式、位运算)一、判断题(正确的填A,错误的填B)R1.在C语言中,逗号运算符的优先级最低。
(A)2.在C语言可执行程序的开始执行点是程序中第一个函数。
(B)3.“5ch”是合法的变量名。
(B)4.C语言程序书写格式自由,一行内可以写几个语句,一个语句可以分写在多行上。
(A)5.当输入数据时,必须指明变量的地址,如scanf("%f",&f) (A)N6.表达式i++与++i在任何场合功能完全相同。
(B)7.在赋值表达式中,赋值号左边的变量和右边的表达式之值的数据类型可以不相同。
(A)R8.C语言程序中,语句以逗号结尾。
( B )9.在 C 程序中,APH 和aph 代表不同的变量。
( A )10. a-=7等价于a=a-7。
( A )N11. printf函数中用到格式符%5s ,其中数字5表示输出的字符串占用5列。
如果字符串长度大于5,则输出按原字符长从左向右全部输出。
(A )12.如果x>y为真或a<b为真,表达式(x>y)&&(a<b)就为真。
( B )13.C语言程序的变量必须先定义再使用。
( A )14.若a和b是同类型变量,在执行了赋值语句a=b;后b中的值将放入a中,b 中的值将丢失。
( B )15.程序的执行总是从main函数开始,在程序的最后一个函数中结束。
(B )16.变量的三个属性是指变量的名字、变量的值和变量在内存中的地址。
(A)17. 运算符优先顺序:赋值运算符<逻辑运算符<关系运算符<算术运算符(B)18.对应float类型的变量,也可以用等号“==”进行数值的判断。
(B)19.表达式:1 && 3.14 和 1 & 3 的值一样大。
(B)20. 为了正确计算表达式既要考虑运算符的优先级,也要考虑其结合性。
c语言试卷集(10套)-试题及答案
c语言试卷集(10套)-试题及答案C语言试卷集(10套)-试题及答案试卷一一、选择题(每题2分,共20分)1. C语言中,用于表示逻辑“真”的值是()。
A. 0B. 1C. -1D. 任意非零值答案:B2. 下列哪个选项是C语言中的合法变量名?()A. 2variableB. variable2C. variable_2D. variable!答案:C3. C语言中,用于定义一个整型数组的语句是()。
A. int array[10];B. int [10] array;C. int 10 array;D. int array=10;答案:A4. 下列哪个选项是C语言中的合法字符串常量?()A. "Hello"B. 'Hello'C. "HelloD. Hello答案:A5. C语言中,用于表示逻辑“假”的值是()。
A. 0B. 1C. -1D. 任意非零值答案:A6. 下列哪个选项是C语言中的合法浮点数常量?()A. 3.14B. 314.C. .314D. 3.14E答案:A7. C语言中,用于定义一个整型变量的语句是()。
A. int x;B. var x;C. x int;D. int = x;答案:A8. 下列哪个选项是C语言中的合法字符常量?()A. 'A'B. "A"C. 'AB'D. "AB"答案:A9. C语言中,用于定义一个字符数组的语句是()。
A. char array[10];B. char [10] array;C. char 10 array;D. char array=10;答案:A10. C语言中,用于表示字符常量的是()。
A. 'A'B. "A"C. AD. "A"答案:A二、填空题(每题3分,共15分)1. C语言中,用于定义一个整型变量并初始化为0的语句是()。
C语言试题练习及答案(都是历年的考题)
C语言试题练习及答案(都是历年的考题)第一部分:选择题(40分,20小题/套)概述1、下面关于C语言的叙述中,正确的是()A. 每行只能写一条语句B. 程序中必须包含有输入语句C. main函数必须位于文件的开头D. 每条语句最后必须有一个分号 2、下面关于C语言的叙述中,错误的是() A. 若一条语句较长,也可分写在下一行上 B. 构成C语言源程序的基本单位是表达式 C. C语言源程序中大、小写字母是有区别的 D. 一个C语言源程序可由一个或多个函数组成 3、关于C语言数据类型的叙述,正确的是()A. 枚举类型不是基本类型B. 数组不是构造类型C. 变量必须先定义后使用D. 不允许使用空类型 4、C程序中main函数的位置()A. 必须在最开始B. 必须在系统库函数后面C. 可以在自定义函数后面D. 必须在最后 5、C语言的函数体由()括起来A. ( )B. { }C. [ ]D. /* */6、关于C语言的叙述中,不正确的是()A. C程序可由一个或多个函数组成B. C程序必须包含一个main()函数C. C程序的基本组成单位是函数D. 注释说明只能位于一条语句的后面 7、一个程序的执行是从()A. 本程序的第一个函数开始,到最后一个函数结束B. 本程序的main函数开始,到main函数结束C. 本程序的main函数开始,到最后一个函数结束D. 本程序的第一个函数开始,到main函数结束 8、结构化程序设计的三种基本结构是()A. 函数结构、分支结构、判断结构B. 函数结构、嵌套结构、平行结构C. 顺序结构、分支结构、循环结构D. 分支结构、循环结构、嵌套结构 9、调试程序是指对程序进行()A. 编辑B. 编译C. 查错和排错D. 连接10、C语言中,复合语句的构成是将一系列语句置于() A. begin与end之间B. 一对圆括号“()”之间C. 一对花括号“{ }”之间D. 一对方括号“[ ]”之间 11、构成C语言源程序的基本单位是() A. 语句 B. 过程 C. 表达式 D. 函数语法基础12、在C语言中,正确的用户标识符是() A. 3f B. _for C. structD. _f.5113、C语言的基本数据类型包括()A. 整型、实型、字符型B. 整型、实型、字符型、逻辑型C. 整型、字符型、逻辑型 D. 整型、实型、逻辑型 14、以下()是正确的常量A. E-5B. 1E5.1C. ?a12?D. 32766L 15、以下()是正确的变量名A. a.beeB. �Cp11C. intD. p_11 16、以下()是正确的字符常量A. “c”B. ?//”C. ?W?D. “\\32a” 17、以下()是不正确的字符串常量A. ?abc?B. “12?12”C. “0”D. “ “ 18、C语言的整型数据在内存中的存储形式是() A. 原码 B. 反码 C. 补码 D. ASCII码19、以下()是正确的浮点数A. e3B. .62C. 2e4.5D. 123 20、下列不属于C语言关键字的是()A. continueB. integerC. staticD. signed 21、C语言的字符型数据在内存中的存储形式是() A. 原码 B. 补码 C. 反码 D.ASCII 22、在C语言中,变量所分配的内存空间大小是() A. 由变量的类型决定B. 由用户自己决定C. 任意的D. 均为两个字节23、若有定义:int a=2;则正确的赋值表达式是()A. a-=(a*3)B. double(-1)C. a*3D. a*4=3 24、语句x=(a=3,b=++a);运行后,x、a、b的值依次为() A. 3,3,4 B. 4,4,3 C.4,4,4 D. 3,4,3 25、语句a=(3/4)+3%2;运行后,a的值为() A. 0 B. 1 C. 2 D. 326、以下四项中,符合C语言语法的语句是()A. int a+b=c;B. int a=12:b=12:c=12;C. int a=12,b=12,c=12;D. int a,b=12,float c=2127、若有定义:int x,a;则语句x=(a=3,a+1);运行后,x、a的值依次为() A.3,3 B. 4,4 C. 4,3 D. 3,428、若变量已正确定义并赋值,符合C语言语法的表达式是()A. a=8+b+c,a++B. a=3aC. int(12.3%4)D. a=a+1=c+b 29、若有定义:int a,b;double x;则以下不符合C语言语法的表达式是() A. x%(-3) B. a+=-1 C. a=b=2 D. x=a+b30、若有定义:int x=2,y=3;float i;则以下符合C语言语法的表达式是() A.x=x*3=2 B. x=(y==1) C. i=float(x) D. i%(-3) 31、若有定义:int x;则语句x=(2*3)+6%5;运行后,x的值是()A. 8B. 7C. 6D. 532、下面关于C语言变量的叙述中,错误的是()A. 可以用const关键字定义变量B. 在C程序中,SUM和sum是不同的变量C.变量名必须由字母或下划线组成 D. 变量的类型确定了变量的取值范围233、若有定义:int x=5,y=6;则表达式x=(y= =6)的值为() A. 5 B. 1C. 6D. 0 34、下面叙述正确的是()A. 2/3与2.0/3.0等价B. (int)2.0/3与2/3等价C. ++5与6等价D. ?A?与”A”等价 35、下面叙述中,错误的是()A. C语言基本的算术运算符不包含模运算符”%”B. 算术运算符的优先级高于关系运算符C. 自加和自减运算符的结合方向是”自右向左”D. C语言规定在表达式求值时,按其中运算符的优先级先高后低的次序进行 36、下面叙述正确的是()A. 强制类型转换运算的优先级高于算术运算B. 若a和b是整型变量,(a+b)++是合法的 C. ?A?*?B?是不合法的 D. “A”+”B”是合法的 37、若有定义:int i=1,j=5;则表达式(++j)*(i--)的值为() A. 1 B. 0 C. 6 D. 738、设整型变量a为5,使b不为2的表达式是()A. b=(++a)/3B. b=6-(--a)C. b=a%2D. b=a/239、若有定义:int a=1,b=2,c=3;则语句++a||++b&&++c;运行后b的值为() A. 1B. 0C. 2D. 340、若有定义:int i,j;则表达式(i=2,j=5,i++,i+j++)的值是() A. 7 B.8 C. 9 D. 1041、若有定义:int a,b;则表达式(a=2,b=5,a*2,b++,a+b)的值是() A. 7 B.8 C. 9 D. 1042、若有定义:int i=2,j=5;则表达式(i+1,j+1,(++i+(j--))的值为() A. 8B. 6C. 7D. 543、若已定义:int i=3,k;则语句k=(i--)+(i--);运行后k的值为() A. 4B. 5C. 6D. 744、C语言的运算符按运算对象的个数可以分为() A. 单目运算符一种 B.单目和双目运算符C. 单目、双目和三目运算符D. 单目、双目、三目和四目运算符45、若已定义:float m;拟从键盘输入135.78这一数据给变量m,则应选用的语句是()A. scanf(“%5.2f”,&m); B. scanf(“%3.2f”,&m);C. scanf(“6.2f”,&m);D. scanf(“o”,&m);46、已知double a;使用scanf()函数输入一个数值给变量a,正确的函数调用是()A. scanf(“%ld”,&a);B. scanf(“%lf”,&a);C. scanf(“%c”,&a);D. scanf(“%u”,&a);47、已知char a;使用scanf()函数输入一个字符给变量a,不正确的函数调用是()A. scanf(“%d”,&a);B. scanf(“%lf”,&a);C. scanf(“%c”,&a);D.scanf(“%u”,&a); 48、putchar()函数的功能是向终端输出()A. 多个字符B. 一个字符C. 一个实型变量值D. 一个整型变量表达式 49、以下程序段运行后的输出结果是() int k=11;printf(“k=%d,k=%o,k=%x\\n”,k,k,k);A. k=11,k=13,k=cB. k=11,k=12,k=133C. k=11,k=13,k=bD. k=11,k=13,k=a50、若有定义:int x=1234,y=123,z=12;则语句printf(“M+=+-”,x,y,z);运行后的输出结果为()A. 123412312B. 12341234123412341231231231212C. 1234+1234+1234D. 1234+123+12 51、已有如下定义和输入语句,int a;char c1,c2;scanf(“%d%c%c”,&a,&c1,&c2);若要求a、c1、c2的值分别为10、A和B,正确的数据输入是() A. 10AB B. 10 A B C. 10A B D. 10 AB 52、以下程序段的运行结果是()int a=0,b=0,c=0; if(a&&++b) c++;printf(“%d,%d\\n”,b,c);A. 0,0B. 1,2C. 2,2D. 1,0 53、以下程序的运行结果是()void main() {int a=65; char c=?A?;printf(“%x,%d”,b,c); }A. 65,aB. 41,aC. 65,65D. 41,6554、若已定义:int a=5;float b=63.72;以下语句中能输出正确值的是() A.printf(“%d%d”,a,b); B. printf(“%d/”,a,b); C. printf(“//”,a,b);D. printf(“/%d”,a,b); 55、运行以下程序段时编译出错,其原因是()char c1='8',c2='2021'; printf(\A. c2是字符变量,只能赋以字符常量,不能赋以字符串常量B. 字符串要用“2021“表示,而‘2021’不是字符串表示 C. ‘2021’只能赋值给字符数组 D. 字符变量不能用%d格式输出56、若已定义:int a=3,b=15,c;则语句c=a>b;运行后c的值为() A. 1 B.0 C. t D. f57、在C语言中,判定逻辑值为“真“的最正确的叙述是() A. 1 B. 非0的数 C. 大于0的数 D. 非0的整数 58、若已定义:int a=-36,b=-30,c;则语句c=a59、能正确表示数学关系式800>=y>=500的C语言表达式为() A. (y<=800)&&(y>=500) B. (y<=800)AND(y>=500) C. 800>=y>=500 D. (y<=800)&(y>=500) 60、若有定义:int x=3,y=4;则表达式!x||y的值为()4A. 1B. 0C. 3D. 4感谢您的阅读,祝您生活愉快。
C语言试卷(含答案)
一、单项选择题(每小题2分,共40分)1、sizeof(float)是()A. 一个双精度型表达式B. 一个整型表达式C. 一种函数调用D. 一个不合法的表达式2、设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值: scanf("i=%d,f=%f",&i,&f);为了把100和分别赋给i和f,则正确的输入为()。
A. 100B. i=100,f=765.12C. 100<回车>D. x=100y=3、#include<>voidmain(){inta=3,b=2,c=1;intx=10,y=20;if(a<b)if(b!=0)if(!x)y=1;elseif(x)y=0;y=-1;printf("%d",y);}上面的C程序的输出结果是()。
A. 20B. 1C. 0D. -14、C语言中,while和do…while循环的主要区别是()。
A. do…while的循环体至少无条件执行一次B. while的循环控制条件比do…while的循环控制条件严格C. do…while允许从外部转到循环体内D. do…while的循环体不能是复合语句5、执行下面的C程序段后,输出结果是()。
inta=5;while(a--);printf("%d",a);A. 54321B. 4321C. 0D. -16、在C语言中,()是在所有函数外部声明的。
A. 全局变量B. 局部变量C. 形参D.实参7、分析下面的C程序:#include<>voidmain(){intnum=0;while(num<=2){num++;printf("%d",num);}}输出结果是()。
A. 123B. 012C. 23D. 128、下面的C语言代码段的输出结果是()。
c语言试题及答案大全
c语言试题及答案大全一、选择题1. 下列关于C语言的说法中,正确的是:A. C语言是一种高级编程语言。
B. C语言可以被编译成机器语言执行。
C. C语言的语法和C++完全相同。
D. C语言不支持面向对象的编程。
答案:B. C语言可以被编译成机器语言执行。
2. C语言中,以下哪个是合法的标识符?A. 123abcB. abc_123C. intD. function()答案:B. abc_1233. 在C语言中,以下哪种循环结构是先判断条件后执行循环体?A. for循环B. while循环C. do-while循环D. switch语句答案:C. do-while循环二、编程题1. 编写一个C程序,计算并输出1到n之间所有整数的和。
其中,n由用户输入。
答案:#include <stdio.h>int main() {int n;int sum = 0;printf("请输入一个整数n:");scanf("%d", &n);for (int i = 1; i <= n; i++) {sum += i;}printf("1到%d之间所有整数的和为%d\n", n, sum);return 0;}2. 编写一个C程序,判断一个整数是否为素数。
素数是指除了1和自身外,无法被其他整数整除的整数。
答案:#include <stdio.h>#include <stdbool.h>bool is_prime(int num) {if (num <= 1) {return false;}for (int i = 2; i * i <= num; i++) {if (num % i == 0) {return false;}}return true;}int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (is_prime(num)) {printf("%d是素数\n", num);} else {printf("%d不是素数\n", num);}return 0;}三、应用题1. 假设有一个班级的学生信息如下:学号姓名年龄性别101 张三 18 男102 李四 17 女103 王五 16 男请根据上述学生信息,编写一个C程序,输出学生的平均年龄。
C语言试卷(含答案)
C语言试卷(含答案)一、单项选择题(每小题2分,共40分)1、sizeof(float)是()A. 一个双精度型表达式B. 一个整型表达式C. 一种函数调用D. 一个不合法的表达式2、设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值: scanf("i=%d,f=%f",&i,&f);为了把100和分别赋给i和f,则正确的输入为()。
A. 100B. i=100,f=765.12C. 100<回车>D. x=100y=3、#include<>voidmain(){inta=3,b=2,c=1;intx=10,y=20;if(a<b)< p="">if(b!=0)if(!x)y=1;elseif(x)y=0;y=-1;printf("%d",y);}上面的C程序的输出结果是()。
A. 20B. 1C. 0D. -14、C语言中,while和do…while循环的主要区别是()。
A. do…while的循环体至少无条件执行一次B. while的循环控制条件比do…while的循环控制条件严格C. do…while允许从外部转到循环体内D. do…while的循环体不能是复合语句5、执行下面的C程序段后,输出结果是()。
inta=5; while(a--);printf("%d",a);A. 54321B. 4321C. 0D. -16、在C语言中,()是在所有函数外部声明的。
A. 全局变量B. 局部变量C. 形参D.实参7、分析下面的C程序:#include<>voidmain(){intnum=0;while(num<=2){num++;printf("%d",num);}}输出结果是()。
A. 123B. 012C. 23D. 128、下面的C语言代码段的输出结果是()。
(完整版)C语言试题
(完整版)C语言试题第1章 C语言概述一、选择题:1、一个C语言程序是由 C 组成。
A.主程序B.子程序C.函数D.过程2、一个C语言程序总是从 C 开始执行。
A.主程序B.子程序C.主函数D.函数3、以下叙述正确的是 D 。
A. 在C程序中,main函数必须位于子程序的最前面B. C程序的每一行中只能写一条语句C. 在对一个C程序进行编译的过程中,可发现注释中的拼写错误D. C语言本身没有输入输出语句5、下面标识符中,不合法的用户标识符为 D 。
A. PadB. a_10C. _124D. a#b15、下列关于c语言用户标识符的叙述中正确的是 B 。
A. 用户标识符中可以出现下划线和中划线(减号)B. 用户标识符中不可以出现中划线,但可以出现下划线C. 用户标识符中可以出现下划线,但不可以放在用户标识符的开头D. 用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头1、下列选项中,可以作为C语言标识符的是()A、3stuB、#stuC、stu3D、stu.32、下列选项中,不可以作为C语言标识符的是()A、 numB、turbo_cC、printfD、student33、请选出可用作C语言用户标识符的一组标识符( )A、void, define, WORDB、a3_b3,_123,IF_AC、FOR,——abc, CaseD、2a,Do,Sizeof4、以下叙述正确的是。
A.在C程序中,main函数必须位于子程序的最前面B.C程序的每一行中只能写一条语句C.在对一个C程序进行编译的过程中,可发现注释中的拼写错误D.C语言本身没有输入输出语句【答案】D【解析】每一个C源程序都必须有、且只能有一个主函数(main函数),但是不必位于最前面,编译之后,运行是会自动搜寻到main函数并开始执行,A项错误;书写程序时,为了清晰,便于阅读和理解,一般是一个说明或一个语句占一行,但这不是必须的,B项错误;编译过程中不对注释进行编译,所以发现不了编译中的拼写错误,C项错误;C语言本身没有输入输出语句,scanf函数和printf函数是标准输入输出库函数,其头文件为stdio.h,D项为答案。
(完整版)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语言考试题库及答案一、选择题1. 以下哪个选项是C语言的合法标识符?A. intB. 2abcC. voidD. a+b答案:C2. 在C语言中,下列哪个选项是正确的数据类型?A. floatB. integerC. doubleD. All of the above答案:D3. 若变量定义如下:int a = 5;,则执行语句printf("%d", a++); 后,a的值是多少?A. 4B. 5C. 6D. 无法确定答案:C4. 以下哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()答案:A5. 在C语言中,哪个运算符用于取模(取余)?A. %B. /C. &D. |答案:A以下是判断题部分:6. C语言中的数组名可以作为指向该数组首元素的指针使用。
()答案:正确7. 在C语言中,结构体变量可以作为函数的参数传递。
()答案:正确8. 在C语言中,静态存储类别的变量在程序运行期间始终占据内存空间。
()答案:正确二、填空题9. 在C语言中,定义一个整型变量需要使用关键字______。
答案:int10. 若变量定义如下:int a = 10;,则执行语句printf("%d", a--); 后,a的值是______。
答案:911. 在C语言中,用于动态分配内存的函数是______。
答案:malloc12. 在C语言中,用于释放动态分配的内存的函数是______。
答案:free13. 在C语言中,用于清空标准输入缓冲区的函数是______。
答案:getchar()三、编程题14. 编写一个C语言程序,实现以下功能:输入一个整数,输出它的阶乘。
答案:```c#include <stdio.h>int main() {int n, i;long factorial = 1;printf("Enter an integer: ");scanf("%d", &n);if (n < 0) {printf("Factorial of a negative number doesn't exist.\n");} else {for (i = 1; i <= n; i++) {factorial = i;}printf("Factorial of %d is %ld\n", n, factorial);}return 0;}```15. 编写一个C语言程序,实现以下功能:输入一个字符串,判断它是否是回文(正读和反读都一样的字符串)。
c语言考试题及答案以及解析
c语言考试题及答案以及解析一、选择题1. 下列哪个选项是C语言中的关键字?A. intB. floatC. doubleD. string答案:A解析:在C语言中,关键字是保留的词汇,用于表示特定的语法结构。
int是C语言中用于声明整型变量的关键字。
2. C语言中,哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C解析:在C语言中,乘法运算符是星号(*),用于计算两个数的乘积。
二、填空题1. 在C语言中,以下代码片段的输出结果是:```cint main() {int a = 5;printf("%d", a);return 0;}```输出结果为:_________答案:5解析:代码中的printf函数用于输出变量a的值,a被初始化为5,因此输出结果为5。
2. 下列代码段中,变量b的值是多少?```cint main() {int a = 10, b;b = a + 5;printf("%d", b);return 0;}```变量b的值为:_________答案:15解析:变量b被赋值为变量a加上5,由于a的值为10,所以b的值为15。
三、简答题1. 简述C语言中的数组是什么,并给出一个数组的声明和初始化的例子。
答案:C语言中的数组是一种数据结构,用于存储相同类型的多个元素。
数组的声明需要指定元素的类型和数组的长度。
数组的初始化可以在声明时完成。
解析:例如,声明一个整型数组并初始化:```cint numbers[5] = {1, 2, 3, 4, 5};```2. 解释C语言中的函数是什么,并给出一个简单函数的定义和调用的例子。
答案:C语言中的函数是一段具有特定功能的代码块,可以接收参数,并返回一个值。
函数的定义包括函数的返回类型、名称、参数列表和函数体。
函数的调用是使用函数名称和必要的参数来执行函数。
解析:例如,定义一个函数来计算两个数的和,并调用它:```cint add(int x, int y) {return x + y;}int main() {int result = add(5, 10);printf("%d", result);return 0;}```四、编程题1. 编写一个C语言程序,实现输入两个整数,输出它们的和。
C语言试题库完整版
C语言试题库完整版1. 数据类型与变量1.1 整型数据类型C语言中的整型数据类型包括:char、short、int和long。
它们分别占用不同字节大小的存储空间,用于表示不同范围内的整数值。
请回答以下问题:(1)char类型变量占用的存储空间是多少字节?(2)int类型变量占用的存储空间是多少字节?(3)long类型变量占用的存储空间是多少字节?1.2 浮点型数据类型C语言中的浮点型数据类型包括:float和double。
它们用于表示带有小数部分的实数值。
请回答以下问题:(1)float类型变量占用的存储空间是多少字节?(2)double类型变量占用的存储空间是多少字节?1.3 布尔型数据类型C语言中并没有定义布尔型数据类型,但可以通过其他方式来模拟实现布尔类型。
请说明如何用C语言实现布尔型数据类型,并给出示例代码。
1.4 常量与变量常量是指在程序运行过程中其值不发生改变的量,而变量是可以在程序运行过程中赋予不同值的量。
请回答以下问题:(1)常量在C语言中如何声明?(2)变量在C语言中如何声明?(3)常量可以修改吗?为什么?2. 控制语句2.1 循环语句C语言提供了多种循环结构,包括:while、do-while和for循环。
请回答以下问题:(1)while循环和do-while循环的区别是什么?(2)for循环的语法结构是怎样的?2.2 分支语句C语言中的分支语句包括:if语句、switch语句和三元运算符。
请回答以下问题:(1)if语句的语法结构是怎样的?(2)switch语句的语法结构是怎样的?(3)三元运算符的使用方法是怎样的?3. 函数与数组3.1 函数函数是C语言程序的基本组成单位,用于封装可重用的代码块。
请回答以下问题:(1)函数的定义包括哪些部分?(2)函数的调用过程是怎样的?(3)函数的返回值可以是什么类型?(4)递归函数和普通函数有何不同?3.2 数组数组是一种用于存储多个相同类型数据的集合。
c语言考试试题及答案
c语言考试试题及答案一、选择题1. 在C语言中,下列哪个关键字用于声明一个变量的名称?A. defineB. intC. printfD. scanf答案:B2. 函数的返回类型可以是下列哪种类型?A. intB. floatC. charD. all of the above答案:D3. 下列哪个运算符用于访问结构体变量的成员?A. .B. ->C. :D. ,答案:A4. 文件指针是下列哪种类型?A. FILEB. pointerC. file*D. fp答案:A5. 下面哪个循环结构在执行前先判断条件,再决定是否执行循环体?A. forB. whileC. do-whileD. switch答案:B二、填空题1. C语言中,用于定义常量的关键字是____。
答案:const2. 在C语言中,用于输出结果到控制台的函数是____。
答案:printf3. C语言中,用于读取用户输入的函数是____。
答案:scanf4. 下面是一个二维数组的声明方式:int arr[3][4];那么该数组的元素个数是____。
答案:125. C语言中,用于在循环执行过程中跳过当前迭代的关键字是____。
答案:continue三、编程题请编写一个程序,实现从键盘输入两个整数,然后输出它们的和。
```c#include <stdio.h>int main(){int num1, num2, sum;printf("请输入第一个整数:");scanf("%d", &num1);printf("请输入第二个整数:");scanf("%d", &num2);sum = num1 + num2;printf("两个整数的和为:%d\n", sum);return 0;}```以上是一道简单的示例题目,通过该题目可以熟悉C语言的基本输入输出、变量声明和运算符等基础知识。
(完整版)C语言试题及答案解析
C语言一、选择题(第题2分,共20分)1.一个C程序的执行是从 A 。
A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序文件的第一个函数开始,到本程序main函数结束D) 本程序的main函数开始,到本程序文件的最后一个函数结束2.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为 C 。
x=(i=4,j=16,k=32)A) 4 B) 16 C) 32 D) 523.设C语言中,一个int型数据在内存中占2个字节,则unsigned int 型数据的取值范围为 C 。
A) 0~255 B) 0~32767 C) 0~65535 D) 0~21474836474.设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为 D 。
A) float B) char C) int D) double5. putchar函数可以向终端输出一个D 。
A) 整型变量表达式 B) 实型变量值C) 字符串 D) 字符或字符型变量值6. printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。
如果字符串长度大于5,则输出按方式 B ;如果字符串长度小于5,则输出按方式 C 。
A) 从左起输出该字符串,右补空格 B) 按原字符长从左向右全部输出C) 右对齐输出该字符串,左补空格 D) 输出错误信息7.判断char型变量ch是否为大写字母的正确表达式是 C 。
A) ‘A’<=ch<=‘Z’ B) (ch>=‘A’)&(ch<=‘Z’)C) (ch>=‘A’)&&(ch<=‘Z’) D) (‘A’<= ch)AND(‘Z’>= ch)8.已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是 B 。
c语言试题100道
1.按下述格式,从键盘输入一个整数加法表达式:操作数1+操作数2,然后计算并输出表达式的计算结果,形式如下:操作数1+操作数2=计算结果。
(课本62)2.输入两个整形数并打印,如果用户不慎输入了非法字符,那么程序提示“输入数据类型错误”。
(课本68页)3.已知三角形的三边长a,b,c,要求编写程序,从键盘输入a,b,c的值,计算并输出三角形的面积(注意不存在的情况)。
(第三章习题)4.编程从键盘输入圆的半径r,计算并输出圆的周长和面积。
(第三章习题)5.任意从键盘输入一个三位整数,要求正确分离它的个位,十位和百位数,并分别在屏幕上输出。
(课本82)6.写一个函数实现统计一个输入的整形数的位数。
7.编程计算方程ax*x+bx+c=0的根,a,b,c由键盘输入,只是用主函数来实现。
(课本83页,但需综合考虑)8.编写三个函数,分别在b*b-4*a*c大于0、小于0、等于0时进行调用,并输出结果,在主函数中读入a、b、c的值。
9.从键盘输入你和你朋友的年龄,编程判断谁的年龄大,并打印最大者的年龄。
(课本86页)10.从键盘输入一个年份,判断该年是否是闰年,并输出结果。
11.判断某人是否属于肥胖体型。
根据身高与体重因素,医务工作者经广泛的调查分析给出了以下按“体指数”对肥胖程度的划分:体指数t=w/h*h(w为体重,单位为kg,h为身高,单位为m)。
当t<18时,为低体重;当t介于18和25之间时,为正常体重;当t介于25和27之间时,为超重体重;当t≧27时,为肥胖。
编程从键盘输入你的身高h和体重w,根据上式,判断体重类型。
(课本89)12.利用switch语句将百分制成绩转化为五分制成绩。
(课本97)13.利用switch语句将五分制成绩转换成对应分数范围并输出。
14.编程设计一个简单的计算器程序,要求根据用户从键盘输入的表达式:操作数1 运算符op 操作数2 计算表达式的值,指定的运算符为加减乘除。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
if (i= =n) printf(“%d is a primer\n”,n); else printf(“%d is not a primer\n”,n); } 35.下列程序段的输出结果是 。warmerror char n=’D’; switch(n) { case ‘a’: case ‘A’: case ‘b’: case ‘B’: printf(“good”); break; case ‘c’: case ‘C’: printf(“pass”); case ‘d’: case ‘D’: printf(“warn”); default: printf(“error”); break; } 36 . 运 行 以 下 程 序 , 从 键 盘 输 入 5,9 < 回 车 > , 则 输 出 结 果 是 。 9 , 5 。 void main() { int *p1, *p2, *p, a,b; scanf(“%d,%d”,&a,&b); p1=&a;p2=&b; if(a<b) { p=p1;p1=p2;p2=p; } printf(“%d,%d\n”,*p1, *p2); } 37.以下程序的输出结果的第一行是 ,第二行是 。 40 . 40 。 main( ) { int a[10]={10,20,30,40,50,60,70,80,90,100},*p,**q; p=a; q=&p; (*q)+=3; printf(“%d\n%d\n”,*p,**q); } 38.运行程序,输出的结果为 。 2 。 #include <stdio.h> int m=13; int fun2(int x,int y) { int m=3; return(x*y-m); } void main() { int a=7,b=5;
printf("%d%d\n",a,b); } (A) 100200 (B) 10200 (C) 200100 (D) 1020 9 . 现 要 定 义 一 个 二 维 数 组 c[m][n] 来 存 放 字 符 串 “China” 、 “USA” 、 “England”,则常量 m 和 n 的合理取值是( A )。 (A) 3 和 8 (B) 2 和 10 (C) 4 和 9 (D) 3 和 7 10.下面程序段的运行结果是( B )。 char *p= “*ABCD*”; p+=2 ; printf (“%s\n” ,p); (A) *ABCD* (B) BCD* (C) ABCD* (D) *ABC 11.若有定义“float a[10],*p;”,且数组 a 的首地址为 2000,则执行语句 “p=a+2;p++;”后 p 中的值为:( B )。 (A) 2003 (B) 2012 (C) 2008 (D) 2000 12.若有定义“float a[10],*p;”,且数组 a 的首地址为 2000,则执行语句 “p=a+1;p++;”后 p 中的值为: ( C ) 。 (A) 2003 (B) 2012 (C) 2008 (D) 2000 13.执行下面的程序段,输出的正确结果是( B )。 int x='f'; printf("%c\n",'A'+(x-'a'+1)); (A)I (B) G (C) J (D) H 14.在位运算中,非零操作数每右移一位,其结果相当于( B )。 (A) 操作数乘以 2 (B) 操作数除以 2 (C) 操作数除以 16 (D) 操作数乘以 16 15.下列程序执行后的输出结果是(小数点后只写一位)( A )。 #include <stdio.h> void main( ) {double d; float f; long L; int I; I=f=L=d=20/3; printf("%d %ld %f %f\n",I,L,f,d); } (A) 6 6 6.0 6.0 (B) 6 6 6.7 6.7 (C) 6 6 6.0 6.7 (D) 6 6 6.7 6.0 16.C 语言可以处理的文件类型是( B )。 (A) 数据代码文件 (B) 文本文件和二进制文件 (C) 数据文件和二进制文件 (D) 文本文件和数据文件$
5
27.说明语句 int (*p)( );的含义是( C ) 。 (A) p 是一个指向一维数组的指针变量 (B) p 是指针变量,指向一个整型数据 (C) p 是一个指向函数的指针,该函数的返回值是一个整型 (D) 以上都不对 28.C 语言规定,调用一个函数时,当实参和形参都是普通变量时,它们之间数 据传递的方式是( B ) 。 (A) 地址传递 (B) 单向值传递 (C) 双向值传递 (D) 由用户指定传递方式 29.以下说法正确的是( D ) 。 (A) #define 和 printf 都是 C 语句 (B) define 是 C 语句,而 printf 不是 (C) printf 是 C 语句,但#define 不是 (D) #define 和 printf 都不是 C 语句 30.对下列共用体正确的描述是( C ) 。 (A) 一旦定义了一个共用体变量后,即可引用该变量或该变量中的任意成员 (B) 一个共用体变量中可以同时存放其所有成员 (C) 一个共用体变量中不能同时存放其所有成员 (D) 共用体类型数据可以出现在结构类型定义中, 但结构类型数据不能出现在 共用体类型中 31.表达式 0x13|0x17 的值是( B ) 。 (A) 0x04 (B) 0x13 (C) 0xE8 (D) 0x17 32.下列关于 C 语言文件操作的结论中,正确的选项是( B ) 。 (A) 对文件操作顺序无要求 (B) 对文件操作必须是先打开文件 (C) 对文件操作必须是先关闭文件 (D) 对文件操作前必须先测试文件是否打开,然后再打开文件 33. 若有定义语句: static char str[4][10]={“thank”, “you”, “very”, “much!”}; 则 str 数组共有 个元素, 其中存储’\0’的数组元素有 个。 40 . 23 。 34 . 运 行 下 面 的 程 序 , 分 别 输 入 3 和 9 后 的 输 出 结 果 是 , 。 3 is a primer . 9 is not a primer 。 #include <stdio.h> void main() { int n,i; scanf(“%d”,&n); for(i=2; i<=n-1;i++) if(n%i= =0) break;
1.下列各组全是合法的 C 语言标识符的是( (A) day , abc_1_a , x1 (B) int , Abc , basic (C) M.John , year , sum (D) for , MONTH , abc
A )。
2.若 d 为 double 型,表达式 d=1, d+5, d++的值是( D )。 (A) 0 (B) 6.0 (C) 2.0 (D) 1.0 3.程序中定义如下宏: #define S(a,b) a*b 若定义 int area;且令 area=S(3-1,3+4),则变量 area 的值为( B )。 (A) 10 (B) 4 (C) 14 (D) 28 4.程序中定义如下函数: int S(int a, int b) { return(a*b); } 若定义 int area;且令 area=S(3-1,3+4),则变量 area 的值为( C )。 (A) 10 (B) 4 (C) 14 (D) 28 5.设有定义“enum color{red,green,blue}d;”,则下列叙述中正确的是( A )。 (A) color 是类型,d 是变量,red 是常量 (B) color 是类型,d 和 red 是变量 (C) color 和 d 是类型,red 是常量 (D) color 和 d 是变量,red 是常量 6.函数调用语句 func((a,b),(a,b,c));中,func 函数的实参个数为( B )。 (A) 1 (B) 2 (C) 4 (D) 5 7.以下程序调用 scanf 函数给变量 a 赋值,但方法是错误的,其错误的原因在 于( B )。 void main( ) { int *p,a; p=&a; scanf(“%d”,*p); } (A)*p 表示是指针变量 p 的地址 (B) *p 表示是变量 a 的值,而不是地址 (C) *p 表示是指针变量 p 的值 (D) *p 只能用来说明 p 是一个指针变量 8.以下程序的输出结果是( B )。 #include <stdio.h> int a,b; void fun() {a=100;b=200;} void main() { int a=10;b=20; fun();
17.下面几组选项中,均不合法的标识符是( C ) 。 (A) A, P_0, do (B) float, la0, (C) b-a, goto, int (D) _123, temp, 18.语句 char p=’\073’;的作用是( D ) 。 (A) 使 p 包含一个字符 (B) 使 p 包含四个字符 (C) 使 p 包含三个字符 (D) 定义变量 p 为字符型类型,并进行初始化
_A INT
19.以下所列语句中,合法的语句是(B ) 。 (A) a=1= b; (B) ++a; (C) a=a+1=5; (D) y=int (a); 20.若有 int a ; 以下不能正确表达数学关系 10<a<15 的表达式是( A ) 。 (A) 10<a<15 (B) a= =11||a= =12||a= =13||a= =14 (C) a>10&&a<15 (D) !(a<=10)&&!(a>=15) 21.下列关于 switch,break 语句的结论中,正确的描述是( B (A) break 语句是 switch 语句中的一部分 (B) switch 语句中可以根据需要使用或不使用 break 语句 (C) 在 switch 语句中必须使用 break 语句 (D) 以上三个结论中有两个结论是正确的 22.执行语句“for(i=0;i++<3;);”后,变量 i 的值为( C )。 (A) 2 (B) 3 (C) 4 (D) 23.与语句 while(!x)等价的语句是(A) 。 (A) while(x= =0) (B) while(x!=0) (C) while(x!=1) (D) while(~x) 24.设有以下语句:enum color { red=3,yellow,blue=10,white,black}; 则 枚举变量 black 的值是( C ) 。 (A) 7 (B) 15 (C) 12 (D) 14 25.已有以下的变量定义 int *p, a=5; 想使指针变量 p 指向整型变量 a,应执 行( C) 。 (A) *p=&a (B) *p=a (C) p=&a (D) p=a 26.设有一函数定义“void p(int *x); {printf(“%d\n”,*x);}”和变量定义“int a=3;”, 则下列正确的函数调用是( D )。 (A) p(a) (B) p(*a) (C) p(int *a) (D) p(&a) ) 。