C语言综合练习题

合集下载

C语言综合练习题

C语言综合练习题

《C语言程序设计》综合练习题一、单项选择题1.下列( D )是字符串比较函数。

A. puts()B.gets()C. strcpy ()D. strcmp()2.构成一个完整的C源程序必须有且只有一个( C )。

A. 函数B.过程C. 主函数D. 程序3. 设有int i,j,k;则表达式i=1,j=2,k=3,i&&j&&k的值为( A )。

A. 1B. 2C. 63D. 04.在C语言中,不同类型数据混合运算时,要先转化成同一类型后进行运算。

设一表达式中包含有int、long、unsigned、char类型的变量和数据,则表达式最后的运算结果是(D)类型数据。

A.int B.char C.unsigned D.long 5.下列(D)不是构成标识符的字符。

A.字母B.数字C.下划线D.标点符号6.表达式:3>5&&-1||6<3-!-1的值是( A )。

A. 0B.1C. 表达是不合法D. 均不对7. 以下标识符中能做为合法的C用户标识符的是(D)。

A.A3+B3B. floatC. 3dxD. x3d8. 以下数据中不正确的数值或字符常量是(B)。

A. 0.0B. 3E2.7C. 9861D. 0xabcd9. fp=fopen(''test.txt",''r''); 语句中,r对文件处理方式是(A)。

A. 只读打开文件B. 只写打开文件C. 追加打开文件D. 读写打开文件10.表示关系x<=y<=z的C语言表达式为(A)A. (x<=y)&&(y<=z)B. (x<=y)and(y<=z)C. (x<=y)&(y<=z)D. (x<=y<=z)11.如果要把常量327存入变量a中,a不能定义的类型是(B)。

计算机c语言综合试题及答案

计算机c语言综合试题及答案

计算机c语言综合试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项不是C语言中的基本数据类型?A. intB. floatC. charD. string答案:D3. 在C语言中,以下哪个运算符用于比较两个值是否相等?A. ==B. !=C. <=D. >=答案:A4. C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpyB. strcatC. strcmpD. strlen答案:A5. 在C语言中,以下哪个关键字用于声明一个函数?A. functionB. defC. voidD. int答案:C6. C语言中,以下哪个选项是正确的数组声明?A. int array[10];B. int array[];C. int array[10] = {0};D. All of the above答案:D7. 以下哪个选项是C语言中合法的变量名?A. 2variableB. variable2C. _variableD. All of the above答案:D8. 在C语言中,以下哪个选项是正确的文件包含指令?A. #include <stdio.h>B. #include "stdio.h"C. #include <stdio.h>D. #include "stdio.h"答案:A9. C语言中,以下哪个选项用于定义一个无限循环?A. while(1)B. for(;;)C. do whileD. All of the above答案:D10. 在C语言中,以下哪个关键字用于声明一个指针?A. pointerB. ptrC. *D. ref答案:C二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个宏。

c语言复习综合练习题

c语言复习综合练习题

一选择题(24分,每小题2分)1.C程序的执行是从一个A.本程序的main函数开始的,到main函数结束B.本程序文件的第一个函数开始,到本文件最后一个函数结束C.本程序main函数开始,到本程序最后一个函数结束D.本程序第一个函数开始,到本程序main函数结束2.以下程序的输出结果为()。

main( ){ int i=010,j=10;printf("%d,%d\n",i++,j--);}A 11,9B 9,10C 8,10D 9,93.设a为int型变量,执行下列赋值语句后,a的取值分别是()。

a=125.534;a=20.0/3;a=(int)125.521%4;a=5<<2;A 125,6,31,1B 125,6,1,20C 125,6.666666,31,20D 125.534,6.666666,2,204.设i和k都是int类型,则for循环语句()。

for(i=0,k=-1;k=1;i++,k++) printf("****\n");A 循环结束的条件不合法B 循环体一次也不执行C 循环体只执行一次D 是无限循环5.C语言规定:在一个源程序中,main函数的位置A.必须在最开始B.必须在系统调用的库函数后面C.可以任意D.必须在最后6.函数调用语句:fseek(fp,-10L,2);的含义是()。

A 将文件位置指针从文件末尾处向文件头的方向移动10个字节B 将文件位置指针从当前位置向文件头的方向移动10个字节C 将文件位置指针从当前位置向文件末尾方向移动10个字节D 将文件位置指针移到距离文件头10个字节处7.以下程序的输出结果为()。

main( ){ char s1[40]="country",s2[20]="side";int i=0,j=0;while(s1[i]!='\0') i++;while(s2[j]!='\0') s1[i++]=s2[j++];s1[i]=0;printf("%s\n",s1);}A sideB countryC sidetryD countryside8.下列说法不正确的是()。

《C语言程序设计》综合练习试卷(一)

《C语言程序设计》综合练习试卷(一)

《C语言程序设计》综合练习试卷(一)试题一判断题 (每题1分,共10 分)(用T表示正确、F表示不正确) 1.C的任何类型数据在计算机内部都是以二进制形式存储的。

2.按格式符“%d”输出float类型变量时,截断小数位后取整输出。

3.字符数组中字符串可以整体输入输出。

4.传值调用的形参只有在被调用时,才被创建(分配存储单元)。

5.C语言中数组名是指针常量。

6.结构体类型中的各成员项数据类型可以不相同。

7.函数必须有返回值,否则不能使用函数。

8.C程序执行总是从第一个函数开始。

9.可以用关系运算符对字符串进行大小比较。

10.For循环只能用于循环次数已确定的场合。

试题二单选题(每题1分共15分)从A)、B)、C)、D)四个选项中,选出正确的一项。

1.以下程序运行后,输出结果是#include"stdio.h"void main( ){ char s[10]="abcde",*p;p=s+2;printf("%s \n",p);}A) cde B)字符c的ASCII码值 C)字符c的地址 D)出错2.对下面函数f,写出f(f(3))的值。

int f(int x){ static int k=0;x+=k--;return x;}A) 5 B) 3 C) 2 D) 43.以下程序运行后,输出结果是#define PT 5#define S(x) PT*x#include"stdio.h"void main( ){ int a=1,b=2;printf ("%d\n",S(a+b));}A) 15 B) 7 C) 8 D) 无正确答案4. 若有 float a[3][4]; 正确的引用第3行第1列的元素是A) **(a+2) B) *(*a+2) C) a[3][1] D) a[3][0]printf("%.1f,%d\n",10./4,10/8);的输出是A) 2.5, 1.25 B) 2.5, 1 CA) int a[ ]; B)int n=5,a[n];C) int n, a[n]={1,2,3,4,5}; D) int a[10/2];7.若有定义:struct person { char name[9]; int age; } ;person st[10]={{"john",17},{"paul",19},{"Mary",18}};能输出字母M的语句是A) printf("%c",st[2].name);B) printf("%c",st[3].name[1]);C) printf("%c",st[2].name[1]);D) printf("%c",st[2].name[0]);8.不能把字符串:“Hello!”赋给数组b的语句是A) char b[10]={'H','e','l','l','o','!','\0'};B) char b[10];b="Hello!";C) char b[10];strcpy(b,"Hello!");D) char b[10]="Hello!";9.若有 int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则表达式值为6的是A)*p+6 B)*(p+6) C)*p+=5 D)p+510. 已知:int *p,m=5, n; 正确的程序段是A) p=&n; scanf(" %d",&p); B) p=&n; scanf(" %d", *p);C) scanf("%d",&n); *p=n; D) p=&n; *p=m;11. 下面程序的运行结果是:#include"stdio.h"void main( ){ int x[4]={ 2,4,6,8},*p, **pp;p=x;pp=&p;printf("%d",*p);printf("%3d",**pp);}A) 4 4 B) 2 4 C) 2 2 D) 4 612.下面程序执行后a的值是#include"stdio.h"void main( ){ int a,k=4,m=6,*p1=&k,*p2=&m;a=p1!=&m;printf("%d\n",a);}A)4 B)1 C)0 D)运行时出错,a无定值13.下列语句序列中,能够将变量u、s中最大值赋给变量t的是A) if (u>s) t=u; t=s; B) t=s; if (u>s) t=u;C) if (u>s) t=s; else t=u; D) t=u; if (u>s) t=s;14. 若有 int a=7,b=12;则语句printf("%d",a&b);输出结果A) 19 B) 9 C) 5 D) 415.若有 FILE *fp; 以“只读”方式打开文本文件a:\aa.dat,下列语句中正确的是A) fp=fopen("a:\aa.dat","w");B) fp=fopen("a:\aa.dat","r");C) fp=fopen("a:\\aa.dat","w");D) fp=fopen("a:\\aa.dat","r");试题三阅读程序题( 每题4分,共24分)写出读下列程序的输出结果1. #include<stdio.h>void main(){ char ch;for(ch='a';ch<'f'; ch++){ putchar(ch-32);putchar(ch);}}2. #include"stdio.h"void main(){ int i;for( i=1;i<=4;i++){ if ((i%3)==0) { printf("$"); continue;} else printf("*");printf("#");}}3. #include "stdio.h"void main(){ int i;for(i=1;i<5;i++)switch(i%5){ case 5: printf(" 5");case 3: printf(" 3");case 1: printf(" 1");default: printf("%2d",i);}}4. #include"stdio.h"void main(){ int x[10];int t,i,j,m=1;for(i=0;i<10;i++){ m=-m;x[i]=m*i;}for(i=1;i<10;i++){ t=x[i];for(j=i-1; j>=0; j--)if(t>x[j]) break;else x[j+1]=x[j];x[j+1]=t;}for(i=0;i<10;i++) printf("%3d",x[i]);}5. #include<stdio.h>void main(){ void swap1(int x ,int y );void swap2(int *x,int *y);void swap3(int &x,int &y);int a1,b1,a2,b2,a3,b3;a1=a2=a3=10;b1=b2=b3=5;swap1(a1,b1);swap2(&a2,&b2);swap3(a3,b3);printf("a1=%d b1=%d\n",a1,b1);printf("a2=%d b2=%d\n",a2,b2);printf("a3=%d b3=%d\n",a3,b3);}void swap1(int x,int y){ int t;t=x;x=y;y=t; }void swap2(int *x,int *y){ int t;t=*x; *x=*y; *y=t; }void swap3(int &x,int &y){ int t;t=x; x=y; y=t; }6.struct node{int num;node *next;};int fun( node *h){ int s,n=0,i;node *p=h ;while(p!=NULL){ for(s=0,i=1;i<p->num;i++)if ((p->num)%i==0) s+=i;if (s==p->num) n++;p=p->next;}return n;}写出执行语句“printf(“%d\n”,fun(head));”的输出结果。

C语言课程习题

C语言课程习题

C语言综合练习题(一)一选择题(7分,每小题0.5分)1.设a为整型变量,初值为12,执行完语句 a+=a-=a*a后,a的值是()。

A 552B 144C 264D -2642.下列标识符中,不能作为合法的C用户定义标识符的是()。

A a3_b3B voidC _123D IF3.下列整数值中,不正确的八进制或十六进制数值常量是()。

A 0xcdB -017C -ox123D 0xfdc4.若给定条件表达式(M)?(a++):(a--),则其中表达式M和()等价。

A M==0B M=1C M!=1D M!=05.在C语言中,if语句后的一对圆括号中,用以决定分支流程的表达式为()。

A 只能是逻辑表达式 B只能是关系表达式C 只能是逻辑表达式或关系表达式 D可以是任意表达式6.以下程序的输出结果为()。

main( ){ char c;int i;for(i=65;i<68;i++){ c=i+32;switch(c){ case ‘a’:printf("%c,",c);break;case ‘b’:case ‘e’:printf("ok,");default: printf("end");}} }A a,ok,endB a,ok,endendC a,ok,end,endD a,ok,ok7.数组名作为实参数传递给函数时,数组名被处理为()。

A 该数组的长度B 该数组的元素个数C 该数组的首地址D 该数组中各元素的值8.关于return语句,下列正确的说法是()。

A 可以在同一函数中出现多次B 在主函数中不能出现C 必须在每个函数中出现D 只能在除主函数之外的函数中出现一次9.以下程序的输出结果为()。

#define A 3#define B(a) (A+1)*amain(){ int x;x=3*A+B(7);printf("x=%d\n",x);}A x=93B x=37C x=60D x=9010.设有以下定义,则以下对变量w的赋值()是错误的。

C语言综合练习(最终版).

C语言综合练习(最终版).

C语言单元练习题第一单元数据类型、表达式及顺序结构练习题一、选择题:1、不合法的C语言整型常量是。

A. –012B. 0x35C. 123LD. 8E22、不合法的C语言实型常量是。

A. E3B. .123C. –6.2E4D. 5.03、不合法的C字符常量是。

A. ´2´B. ´\101´C. ´AB´D. ´\n´4、下列四组选项中,均是不合法的用户标识符的选项是。

A. W P_0 doB. b-a goto intC. float la0 _AD. -123 abc TEMP5、定义三个变量a、b、c,并分别赋初值为5。

能实现该功能的语句是。

A. int a=b=c=5;B. int a,b,c=5;C. int a=5,b=5,c=5;D. int a=5;b=5;c=5;6、设有说明:char w;int x; float y;double z;则表达式w*x+z-y值的数据类型为。

A. floatB. charC. intD. double7、以下选项中不能用作C程序合法常量的是()。

A. 1.234B. '123'C.123D."\x7G"8、以下选项中可用作C程序合法实数的是()A. .1e0B.3.0e0.2C.E9D.9.12E9、下列标识符中,不合法的用户标识符为()。

A. PadB. CHARC. a_10D. a≠b10、以下选项中能表示合法常量的是()。

A.整数:1,200B.实数:1.5E2.0C.字符斜杠:‘\’D.字符串:"\007"11、以下选项中,能用作数据常量的是()。

A.o115B. 0118C.1.5e1.5D. 115L12、若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是()。

A.1B.0C.2D.313、若有定义语句:int x=10;,则表达式x-=x+x的值为()A.-20B.-10C.0D.1014、表达式:(int)((double)9/2)-(9)%2的值是()。

C语言试题练习及答案(都是历年的考题)

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语言综合练习题

C语言综合练习题

习题一一、选择题1. C程序从( D )开始执行。

(A) 程序中的第一条语句(B) 程序中的第一条可执行语句(C) 程序中的第一个函数(D) 程序中的main函数2. 下列各项中,不是C语言的特点是( )。

(A) 语言简洁、紧凑,使用方便(B) 数据类型丰富,可移植性好(C) 能实现汇编语言的大部分功能(D) 有较强的网络操作功能3. 下列叙述错误的是( B )。

(A) C程序中的每条语句都用一个分号作为结束符(B) C程序中的每条命令都用一个分号作为结束符(C) C程序中的变量必须先定义,后使用(D) C语言以小写字母作为基本书写形式,并且C语言要区分字母的大小写4. 算法中对需要执行的每一步操作,必须给出清楚、严格的规定,这属于算法的( B )。

(A) 正当性 (B) 确定性 (C) 可行性 (D) 确定性习题二一、选择题1. 整型变量的类型说明符是( B )。

(A) short (B) int (C) long (D) float2. 单精度型变量的类型说明符是( C )。

(A) int (B) long (C) float (D) double3. 下列叙述正确的是( D )。

(A) 标识符由字母、数字或下划线组成,必须以字母或下划线开头(B) 标识符由字母、数字或下划线组成,必须以字母或数字开头(C) 标识符由字母、数字或下划线组成,必须以字母或下划线开头,可以含有空格(D) 标识符由字母、数字或下划线组成,必须以字母或下划线开头,并且不含空格4. 下列式子中,是字符型常量的是( A )。

(A) 'a' (B) "a" (C) 'ab' (D) "ab"5. 下列式子中,可以作为C语言标识符的是( C )。

(A) array-1 (B) 234abc (C) array_1 (D) if6. 下列语句正确的是( B )。

C语言综合练习1

C语言综合练习1

C语言综合练习一、选择题1、运算符有优先级,在C语言中关于运算符优先级的正确叙述是。

A) 逻辑运算符高于算术运算符,算术运算符高于关系运算符B) 算术运算符高于关系运算符,关系运算符高于逻辑运算符C) 算术运算符高于逻辑运算符,逻辑运算符高于关系运算符D) 关系运算符高于逻辑运算符,逻辑运算符高于算术运算符2、在以下关于C语言的不严格的叙述中,错误的是A)大写字母和小写字母的意义相同B)有些不同类型的变量可以在一个表达式中运算C)在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型D)同一个运算符号在不同的场合可以有不同的含义3、C语言中的简单数据类型包括。

•A)整型、实型、逻辑型B)整型、实型、字符型C)整型、字符型、逻辑型D)整型、实型、逻辑型、字符型4、在C语言中,错误的int类型的常数是。

A) 32768 B) 0 C) 037 D) 0xAF5、下列常数中不能作为C的常量的是。

A) 0xA5 B) 2.5e-2 C) 3e2 D) 05826、在C语言中,十进制的47可等价地写为。

A) 2f B) 02f C) 57 D) 0577、已知:int a=4,b=5,c;则执行表达式“c=a=a>b”后变量a的值为。

A) 0 B) 1 C) 4 D) 58、下列可以正确表示字符型常数的是A) "a" B) ‟\t‟C) "\n" D) 2979、以下错误的转义字符是A) ‟\\‟B) ‟\‟‟C) ‟\81‟D) ‟\0‟10、已知:float x=1,y;则:y=++x*++x的结果是A) y=9 B) y=6 C) y=1 D) 表达式是错误的11、已知:char ch=‟A‟;则下列表达式的值是ch = (ch>=‟A‟&&ch<=‟Z‟) ? (ch+32) : ch;A) A B) a C) Z D) z12、若变量已正确定义并赋值,以下符合c语言语法的表达式是A) a:=b+1 B) a=b=c+2 C) int 18.5%3 D) a=a+7=c+b13、下列可用于c语言用户标识符的一组是A) void define WORD B) a3_B3 _123 CarC) For –abc IFCase D) 2a DO sizeof14、若已定义:int a=25,b=14,c=19;以下三目运算符(?:)所构成语句的执行后a<=25&&b--<=2&&c?printf(“***a=%d,b=%d,c=%d\n”,a,b,c):printf(“###a=%d,b=%d,c=%d\n”,a,b,c);程序的输出结果是:A) ***a=25,b=13,c=19 B) ***a=26,b=14,c=19C) ###a=25,b=13,c=19 D) ###a=26,b=14,c=1915、下列程序段的输出结果是:int a=1234; float b=123.456;double c=12345.54321;printf(“%2d,%2.1f,%2.1f”,a,b,c);A)无输出B) 12,123.5,12345.5C) 1234,123.5,12345.5 D) 1234,123.4,1234.516、有如下程序段:int a=14,b=15,x; char c=‘A’; x=(a&&b)&&(c<‘B’);执行该程序段后,x的值为: DA)true B) false C) 0 D)117、下列数据中,不合法的c语言实型数据的是: CA)0.123 B)123e3 C) 2.1e3.5 D)789.018、设变量a是int型,f是float型,i是double型,则表达式10+‟a‟+i*f值的数据类型为:DA) int B) float C) double D) 不确定19、设以下变量均为int类型,表达式的值不为7的是:CA) (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) (y=6, y+1,x=y,x+1)20、若变量a是int类型,并执行了语句:a=…A‟+1.6;则正确的叙述是:DA) a的值是字符C B) a的值是浮点型C)不允许字符型和浮点型相加D) a的值是字符‟A‟的ASCII值加上1二、给出以下程序的运行结果1、main() { int a=0; a+=(a=8); printf(“%d\n”,a);}2、main() { double d=3.2; int x,y; x=1.2;y=(x+3.8)/5.0; printf(“%d\n”,d*y) }3、main() { int a=5,b=4,c=3,d; d=(a>b>c); printf(“%d\n”,d); }4、main() { int a=4,b=5,c=0,d; d=!a&&!b||!c; printf(“%d\n”,d); }}5、main() { int x=3,y=5; printf(“%d”,x=(x--) * (--y)); }6、#define f(x) x*xmain() { int i ; i=f(4+4)/f(2+2); printf(“%d\n”,i); }7、main() {int m=0256,n=256; printf(“%o%o\n”,m,n); }8、main(){int x=10,y=10; x--,++y;printf("%d,%d ",x,y);}三、数据描述如下int a=4,b=5;float x=65.789;char c1='A',c2='\375';则表达式运算结果:(1)a*100+b*10+2(2)c1*(a=x)(3)b/a+(int)(x+a)%c1(4)c1%c2(5)a+=a-=a%=a(6) (a*=b,a*2),a+6四、将下列数学公式用C 语言表达式描述(1) ,(2) 3243,R R ππ(3) )12(578,3),(2y x y x c b a b a --+++++ (4) x x x 12t a n )42c o s (3)5.0(s i n -++++五、执行如下程序,为使变量a=3,b=7,x=8.5, y=71.82, c1=…A‟,c2=…a‟,正确的输入方式:main(){int a,b;float x,y;char c1,c2;scanf("a=%d b=%d",&a,&b);scanf("x=%f y=%f",&x,&y);scanf("c1=%c c2=%c",&c1,&c2);printf("a=%d,b=%d,x=%f,y=%f,c1=%c, c2=%c", &a,&b,&x,&y,&c1,&c2);}六、程序设计(要求画出程序流程图)1、已知a=4.6,b=5,根据公式c=2a+b/5求出c 的值。

C语言综合习题及答案

C语言综合习题及答案

C语言综合习题及答案C语言练习题一、选择题1. 一个完整的C源程序是【B 】。

A)要由一个主函数或一个以上的非主函数构成B)由一个且仅由一个主函数和零个以上的非主函数构成C)要由一个主函数和一个以上的非主函数构成D)由一个且只有一个主函数或多个非主函数构成2. 以下关于函数的叙述中正确的是【C】。

A)C语言程序将从源程序中第一个函数开始执行B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束D)main可作为用户标识符,用以定义任意一个函数3. 以下关于函数的叙述中不正确的是【B】。

A)C程序是函数的集合,包括标准库函数和用户自定义函数B)在C语言程序中,被调用的函数必须在main 函数中定义C)在C语言程序中,函数的定义不能嵌套D)在C语言程序中,函数的调用可以嵌套4. 在一个C程序中,【B 】。

A)main函数必须出现在所有函数之前B)main函数可以在任何地方出现C)main函数必须出现在所有函数之后D)main函数必须出现在固定位置5.C程序的执行是从【A 】开始的。

A)主函数B)子函数C)从程序第一行D)printf()函数6.以下选项中不合法的标识符是【C 】A)print B)FOR C)&a D)_007.以下选项中可作为C语言合法常量的是【A】A)-80 B)-080 C)-8e1.0 D)-80.0e8.以下选项中不属于字符常量的是【B】A)′C′ B)"C" C)′\xCC′ D) ′\072′9. 若在C语言中未说明函数的类型,则系统默认该函数的数据类型是【C】A)float B)longC)int D)double10. 以下关于函数叙述中,错误的是【D】。

A)函数未被调用时,系统将不为形参分配内存单元B)实参与形参的个数应相等,且实参与形参的类型必须对应一致C)当形参是变量时,实参可以是常量、变量或表达式D)形参可以是常量、变量或表达式11. C程序中各函数之间可以通过多种方式传递数据,下列不能用于实现数据传递的方式是【D】。

C语言综合练习(附答案)

C语言综合练习(附答案)

C语言综合练习(附答案)一、选择1.在C语言中运算对象必须是整型的运算符是A %B !C /D *2. 有以下程序#includemain(){int x;scanf(“%d”,&x);if(x<=3);else if(x!=10)printf(“%d\n”,x);}程序运行时,输入的值在哪个范围才会有输出结果____________ 。

A)不等于10的整数 B)大于3且不等于10的整数C) 大于3或等于10的整数 D)小于3的整数3. 下列定义数组的语句中,正确的是__________。

A)int N=10;int x[N]; B)#define N 10int x[N];C) int x[0..10]; D) int x[];4. 以下程序运行后的输出结果是_______________。

#includemain(){int m=1,n=2,*p=&m,*q=&n,*r;r=p;p=q;q=r;printf(“%d,%d,%d,%d\n”,m,n,*p,*q);}A)1,2,1,2 B)1,2,2,1 C)2,1,2,1 D)2,1,1,25. C语句x*=y+2;还可以写成A x=x*y+2;B x=2+y*x;C x=x*(y+2);D x=y+2*x;6. 以下程序运行后的输出结果是________________。

#includemain(){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)37. 若要定义一个具有5个元素的整形数组,以下错误的定义语句是__________。

A)int a[5]={0}; B)int b[] = {0,0,0,0,0};C) int c[2+3] ; D)int i=5,d[i];8. 设有float x;则x是____变量。

C语言综合训练(数组)

C语言综合训练(数组)

C语言综合练习3一、选择题1 . 在C语言中,以下选项中不能表示10 ×1000之值的是()A. 1.0E4.0B. 1.E4C. 10E3D. 1.0e42. 以下选项中,合法的C语言常量是()A. 21.84B. ‘CPP’C. ”\1.0D. 2MB3. 有以下程序:# include <stdio.h>mian ( ){ int x=010 , y=10;printf(“%d,%d\n”,++x,y--); }程序运行后的输出结果是()A.10 ,9 B . 11 ,10 C. 010 ,9 D. 9 ,104. 若有定义:int a ; float b; double c ; 程序运行输入:a=1,b=2,c=3 <回车>,能把1输入给变量a、值2输入给变量b、值3输入给变量C的输入语句是()。

A. scanf(“a=%d,b=%f,c=%lf”,&a,&b,&c);B. scanf(“%d%f%lf”,&a,&b,&c);C. scanf(“a=%d,b=%lf,c=%lf”,&a,&b,&c);D. scanf(“a=%d,b=%f,c=%f”,&a,&b,&c);5.有如下程序:# include <stdio.h>mian ( ){ int a=0,b=1;if ( a++ && b++ ) printf(“T”);else printf(“F”);printf(““a=%d,b=%d\n”,a,b); }程序结果的输入结果是()A. Ta=1,b=2B. Fa=0,b=2C. Fa=1,b=1D. Ta=0,b=16.以下不是合法c语言转义字符的是()A. ’\c’B. ’\a’C. ’\b’D. \r’7.以下能够实现计算5!的程序段是()。

fx0355《C语言程序设计》综合练习题适用于专升本:计算机科学与技术 (1)

fx0355《C语言程序设计》综合练习题适用于专升本:计算机科学与技术 (1)

《C语言程序设计》综合练习题一、单项选择题(共80题,每小题2分)(1)计算机语言不包括(C)。

A. 机器语言B. 汇编语言C. 智能语言D. 高级语言(2)C语言属于(D)。

A. 机器语言B. 汇编语言C. 智能语言D. 高级语言(3)printf语句的作用是(D)。

A. 写入文件B. 读入数据C. 记录数据D. 黑屏终端打印信息(4)下列关于C语言程序说法错误的是(A)。

A. main函数不是必须的B. 函数可以没有返回C. void表示函数没有返回值D. main函数是必须的(5)下列程序段的作用是(B)。

int a,b,sum;a=123;b=456;sum=a+b;A.对a、b初始化B. 实现123+456求和C.赋值D. 实现两数相减(6)printf语句中使用%d的作用是(C)。

A. 实现十进制输入B. 实现浮点数输出C. 实现十进制输出D. 无实际意义(7)下列不属于C关键字的是(C)。

A. whileB. forC. MapD. continue(8)下列变量命名合法的是(D)。

A. 123B. 9_qC. +1D. abc(9)下列关于C语言程序说法错误的是(A)。

A. 可以有多个main函数B. 程序由一个或多个源文件组成C. 程序应包含注释D. 程序可以没有输出(10)下列关于程序设计任务说法错误的是(A)。

A. 首先设计算法B. 其次设计算法C. 然后编写程序D. 最后编写文档(11)下列不属于算法的特征的是(C)。

A. 确定性B. 有穷形C. 二义性D. 可行性(12)下列说法正确的是(A)。

A. 算法+数据结构=程序B. 算法可以无限循环C. 算法只能用C语言实现D. 算法只能用Java语言实现(13)下列不属于算法的是(B)。

A. 成绩换算B. 打印字符串C. 求最小公倍数D. 求最大公约数(14)下列关于求1*2*…*5说法错误的是(D)。

A. 可以设计一个算法求解B. 可以使用wile循环C. 可以使用for循环D. 用循环解决效率不高(15)算法一般不可以用什么表示(C)。

C语言程序设计综合考试试题与答案

C语言程序设计综合考试试题与答案

C语言程序设计综合考试试题与答案1、以下叙述中正确的是()A)C程序中的注释只能出现在程序的开始位置和语句的后面B)C程序书写格式严格,要求一行内只能写一个语句C)C程序书写格式自由,一个语句可以写在多行上(正确答案)D)用C语言编写的程序只能放在一个程序文件中2、以下叙述中正确的是()A)C程序的基本组成单位是语句B)C程序中的每一行只能写一条语句C)简单C语句必须以分号结束(正确答案)D)C语句必须在一行内写完3、计算机能直接执行的程序是()A)源程序B)目标程序C)汇编程序D)可执行程序(正确答案)4、以下C语言用户标识符中,不合法的是()A)_1B)AaBcC)a_bD)a-b(正确答案)5、以下选项中不合法的标识符是()A)printB)FORC)&a(正确答案)D)_006、以下选项中合法的标识符是()A)1_1B)1-1C)_11(正确答案)D)1_ _7、以下选项中,能用作数据常量的是()A)o115B)0118C)1.5e1.5D)115L(正确答案)8、以下选项中不能作为C语言合法常量的是()A)'cd'(正确答案)B)0.1e+6C)"\a"D)'\011'9、C源程序中不能表示的数制是()A)二进制(正确答案)B)八进制C)十进制D)十六进制10、以下选项中正确的定义语句是()A)double a;b;B)double a=b=7;C)double a=7,b=7;(正确答案)D)double,a,b;11、以下不能正确表示代数式2ab/cd的C语言表达式是(D)A)2ab/c/d(正确答案)B)ab/c/d2C)a/c/db2D)2ab/cd12、义:int x=2;,以下表达式中,值不为6的是()A)x=x+1B)x++,2xC)x=(1+x)D)2x,x+=2(正确答案)12、有以下程序,其中k的初值为八进制数main(){int k=011;cout<<k++<<endl;}程序运行后的输出结果是(D)A)12(正确答案)B)11C)10D)913、若有表达式(w)?(--x):(++y),则其中与w等价的表达式是(D)_________________________________A)w==1 B)w==0 C)w!=1 D)w!=0_________________________________14、若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是()A)a=a++,i++;B)i=(a+k)<=(i+k)C)i=a%11;(正确答案)D)i=!a;15、若函数中有定义语句:int k;,则()A)系统将自动给k赋初值0B)这时k中的值无定义(正确答案)C)系统将自动给k赋初值-1D)这时k中无任何值16、例2.3.2 写出下列程序的运行结果#include(正确答案)void main(){int c , x , y ;x = 0 ; y = 0 ; c = 0 ;c = x++ && y++ ;cout}答案:1 0 0A B C D17、例2.3.3 写出下列程序的运行结果#include(正确答案)void main(){int c , x , y ;x = 1 ; y = 1 ; c = 0 ;c = x++ || y++ ;cout}答案:2 1 1A B C D18、若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是()A)1(正确答案)B)0C)2D)不知道a的值,不能确定19、课堂练习:两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是()。

C语言练习题及答案

C语言练习题及答案

C语言练习题及答案综合强化练习一一、选择题(每题1分,共40分)1、以下叙述正确的是( )A)C语言总是从第一个定义的函数开始执行B)在C程序中,要调用的函数必须在main函数中定义C)C程序的执行总是从main函数开始执行的D)C程序中的main函数必须放在程序的开始部分2、下列合法的用户标识符为( )A)_4sum B) static C) 1max D) #dtotal3、ch为字符型变量,则下面赋值语句正确的为( )。

A)ch="ABC" B) ch="A" C) ch= a D) ch=674、C语言中整形常量有哪几种形式( )A) 十进制、八进制、十六进制B) 二进制、十进制、八进制、十六进制C) 二进制、八进制、十六进制D) 二进制、十进制5、字符串" China "在内存中占用的字节数是( )A) 1 B) 2 C) 5 D) 66、int x,y; x=7/2;y=7/2.0;则x的值为( )A) 3.500000 3 B) 3 3.500000C) 3.500000 3.500000 D)3 37、下面程序int x=0x2B; printf("%d",x);的输出结果为( )A) 2B B) 0x2B C) 43 D) 448、实型常量用指数形式表示,下列哪一项不是合法的( )A) 3.65e3 B)0.356E3 C)356e3 D)3.56e3.09、设有语句int a=3;则执行了语句a-= a+=a*a;后变量a的值是( )A)0 B)3 C) -9 D) -310、下列字符中,错误的转义字符是( )A)'\085' B) '\\' C) '\0' D) '\n '11、下面程序的输出结果是( )int a=2;if(a=5) a=a+2;printf("%d ",a);A) 2 B) 4 C) 5 D)712、下列程序段的循环次数是( )int k=0;while(k= =0) printf("%d",k);k--; printf ("\n");A) 无限次B) 0 次C) 1次D)2次13、下列说法正确的是( )A) 在循环体中可以用break语句结束本次循环B) 在循环体中可以用continue语句结束本次循环C) break语句仅能使用在switch结构中D) 可以使用continue语句跳出switch结构14、以下正确的函数形式是()。

C语言基础知识综合练习题

C语言基础知识综合练习题

一、 C语言基本知识和基本语句(一)选择题1.设a,b和c都是int型变量,且a=3,b=4,c=5则下面的表达式中,值为零的表达式是()。

A)‘a’&&’b’ B) a<=bC) a || b+c&&b-c D) ! ((a<b)&&! C|| 1)2.设ch是char型变量,其值为A字符,且有表达式:ch= (ch >= ‘A’ && ch <=‘Z’) ? ( ch + 32):ch,则表达式ch的值是()字符。

A)A B) a C) Z D) z3.若x和y都是int 型变量,x=100,y=200,且有程序段:printf(“%d”,(x,y));则输出结果是()。

A) 200 B)100 C) 100,200 D)输出格式不够,输出不确定的值4.C语言中最简单的数据类型包括()。

A)整型、实型、逻辑型 B) 整型、单精度型、双精度、字符型C) 整型、字符型、逻辑型 D) 整型、实型、逻辑型、字符型5.C语言中,运算对象必须是整型的运算符是()。

A)% B) / C) % 和/ D) **6.数学关系x≥y≥z ,它对应C语言表达式是()。

A)(x>=y)&& (y>=z ) B) (x>=y) AND (y>=z )C) (x>=y>=z) D) (x>=y) & (y>=z )7.以下说法中正确的是()。

A)C语言程序总是从第一个定义的函数开始执行B) 在C语言程序中,要调用的函数必须在main()函数中定义C) C语言程序总是从main()函数开始执行D) C语言程序中的main()函数必须放在程序的开始部分8.设int x=10,y=3,z;则语句printf (“%d\n”,z=(x%y,x/y));的输出结果是()。

C语言综合练习题(新)

C语言综合练习题(新)

1) 设x,y均为整型变量,且x=10 y=3,则以下C语言的输出结果是()。

printf(“%d,%d\n”,x--,--y);a)10,3b)9,3c)9,2d)10,22)在C语言中,要计算一个数(变量i)的开平方,下面代码正确的是()。

a)printf(sqrt(t), "\n Square of%d",i)b)printf("\n Square of %d is %d",i,sqrt(i))c)[d)printf(sqrt(i),i,t, "\n Sqrt of %d is %d")e)printf(i,t,"\n Square of%d")f)scanf(i,"\n Square of%d is %d",sqrt(i))3)运行下列C程序:#include <>void fun(int x,int y,int z){ z=x*x+y*y;}void main(){ int a=31;fun(5,2,a);printf(“%d”,a);}输出结果是()。

e)0 b)29 c)31 d)无定值4)在C语言中,下面选项()是合法的变量名。

(选择两项)f)Minimum b)3rd_rowc)n1+n2; d)Doubles e)]5)运行下面的C程序:#include <>void main(){ int n;scanf(“%d”,&n);if(n++<10)printf(“%d\n”,n);elseprintf(“%d\n”,n--);}》若从键盘上输入9,则输出结果是()。

g)11 b) 10 c)9 d)86)在C语言中,下列关于条件语句的描述中,正确的是()。

(选择两项)a)当if语句嵌套使用的时候,最后一个else和最近的一个没有else匹配的if匹配b)一个if可以有多个else与之匹配c)一个switch语句总是可以被一系列if…else语句替换d)当执行break语句时程序将停止执行7)在C语言中,下面不正确的字符串常量是()。

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

1、下列叙述中错误的是(A)。

A.一个C语言程序只能实现一种算法B.C程序可以由多个程序文件组成C.C程序可以由一个或多个函数组成D.一个C函数可以单独作为一个C程序文件存在2、以下叙述中正确的是(C)。

A.C程序的基本组成单位是语句B.C程序中的每一行只能写一条语句C.简单C语句必须以分号结束D.C语句必须在一行内写完3、以下叙述中正确的是(C)。

A.C程序中的注释只能出现在程序的开始位置和语句的后面B.C程序书写格式严格,要求一行内只能写一个语句C.C程序书写格式自由,一个语句可以写在多行上D.用C语言编写的程序只能放在一个程序文件中4、按照C语言规定的用户标识符命名规则,不能出现在标识符中的是(B)。

A.大写字母 B.连接符C.数字字符 D.下划线5、下列定义变量的语句中错误的是(D)。

A.int _int; B.double int_;C.char For; D.float USS6、以下选项中不能作为C语言合法常量的是(A)。

A.´cd´ B。

0.1c+6C.〞\a〞 D.´\011´7、以下选项中不属于字符常量的是 (B)。

A.'C' B."C" C.'\xCC0' D.'\072' 8、下列常量哪个是不合法的(B)。

A.0x4d00 B.‘BASIC’C.‟\\‟D.“/045”9、以下4组用户定义标识符中,全部合法的一组是(A)。

A._main B.If C.txt D.int enclude -max REAL k_2 sin turbo 3COM _001 10、以下选项中不属于字符常量的是(B)。

A.'C' B."C" C.'\xCC' D.'\072' 11、下列变量名中哪个是不合法(C)。

A.Turbo_C B.vc C.int D._2ab 12、设变量已正确定义并赋值,以下正确的表达式是(B)。

A.b=3++ B.x=2,++yC.a=14%3.3 D.x=y+3=213、以下定义语句中正确的是 (D)。

A.int a=b=0 ; B.char A=65+1,b='b'; C.float a=1,*b=&a,*c=&b ;D.double a=0.0,b=1.1;14、以下选项中正确的定义语句是(C)。

A.double a;b; B. double a=b=7 C.double a=7,b=7; D.double,a,b;15、以下不能正确表示代数式2ab/cd 的C语言表达式是(D)。

A.2*a*b/c/d B.a*b/c/d*2C.a/c/d*b*2 D.2*a*b/c*d16、若变量x、y已正确定义并赋值,以下符合C语言语法的表达式是(A)。

A.++x,y=x-- B.x+1=yC.x=x+10=x+y D.double(x)/1017、以下关于逻辑运算符两侧运算对象的叙述中正确的是(D)。

A.只能是整数0或1B.只能是整数0或非0的整数C.可以是结构体类型的数据D.可是任意合法的表达式18、若有定义int x,y;并已正确给变量赋值,则以下选项中与表达式(x-y)?(x++):(y++)中的条件表达式(x-y)等价的是(C)。

A.(x-y>0) B.(x-y<0)C.(x-y<║x-y>0) D.(x-y==0)19、设有定义:int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是(A)。

A.k++ B.k+=1 C.++k D.k+120、若以下选项中的变量已正确定义,则正确的赋值语句是(C)。

A.x1=26.8%3 B.1+2=x2C.x3=0x12 D.x4=1+2=3;21、执行以下程序段后,w的值为(C)。

int w=´A´,x=14,y=15;w=((x||y)&&(w<´a´));A. -1 B.NULL C.1 D. 022、当变量c的值不为2、4、6时,值也为“真”的表达式是 (B)。

A.(c==2)‖(c==4)‖(c==6)B.(c>=2&&c<=6)‖(c!=3)‖(c!=5)C.(c>=2&&c<=6)&&!(c%2)D.(c>=2&&c<=6)&&(c%2!=1)23、设有以下定义int a=0;double b=1.25;char c=‟A‟;#define d 2则下面语句中错误的是(D)。

A.a++; B.b++ C.c++; D.d++;24、若有以下函数首部int fun(double x[10],int *n)则下面针对此函数声母语句中正确的是 (B)。

A.int fun(double x,int *n);B.int fun(double ,int);C.int fun(double*x,int n);D.int fun(double *,int*);25、若程序中定义了以下函数double myadd(double a,double b){ return (a+b);}并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是(A)。

A.double myadd(double a,b);B.double myadd(double,double);C.double myadd(double b,double a);D.double myadd(double x,double y); 26、若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|<10的是(C)。

A.abs(x-y)<10 B.x-y>-10&& x-y<10 C.(x-y)<-10||!(y-x)>10 D.(x-y)*(x-y)<100 27、已知int x=10,y=20,z=30; if(x>y)z=x;x=y;y=z;执行后x,y,z的值是(B)。

A.x=10,y=20,z=30 B.x=20,y=30,z=30 C.x=20,y=30,z=10 D.x=20,y=30,z=20 28、对for(表达式1; ; 表达式3)可理解为(B)。

A.for(表达式1; 0; 表达式3)B.for(表达式1; 1; 表达式3)C.for(表达式1; 表达式1; 表达式3)D.for(表达式1; 表达式3; 表达式3) 29、以下叙述中正确的是(C)。

A.break语句只能用于switch语句体中 B.continue语句的作用是:使程序的执行流程跳出包含它的所有循环C.break 语句只能用在循环体内和switch 语句体内D.在循环体内使用break语句和continue语句的作用相同30、下列叙述中正确的是(D)。

A.break语句只能用于switch语句B.在switch语句中必须使用defaultC.break语句必须与switch语句中的case配对使用D.在switch语句中,不一定使用break 语句31、在嵌套使用if语句时,C语言规定else 总是(C)。

A.和之前与其具有相同缩进位置的if配对B.和之前与其最近的if配对C.和之前与其最近的且不带else的if配对D.和之前的第一个if配对32、若i为整型变量,则以下循环执行次数是(B)。

for(i=2;i==0;) printf("%d",i--);A.无限次B.0次C.1次D.2次33、以下能正确计算1×2×3×...×10的程序段是(C)。

A.do{ i=1; s=1; B.do{ i=1;s=0;s=s*i; s=s*i;i++; i++;}while(i<=10); }while(i<=10);C.i=1; s=1; D.i=1; s=0;do{ s=s*i; do{ s=s*i;i++; i++;}while(i<=10); }while(i<=10);34、若有宏定义:#define f(x) x/x,则表达式f(3+6)的值为(C)。

A.1 B.25 C.11 D.435、下面的函数调用语句中func函数的实参个数是(A)。

func(f2(v1,v2),(v3,v4,v5),(v6,max(v7, v8)));A. 3 B. 4 C.5 D. 8 36、以下叙述中错误的是(B)。

A.用户自定义的函数中可以没有return语句B.用户自定义的函数中可以有多个return 语句,以便可以调用一次返回多个函数值C.用户自定义的函数中若没有return语句,则应当定义函数为void类型D.函数的return语句中可以没有表达式37、以下关于宏的叙述中正确的是(C)。

A.宏名必须用大写字母表示B.宏定义必须位于源程序中所有语句之前C.宏替换没有数据类型限制D.宏调用比函数调用耗费时间38、以下能正确定义一维数组的选项是(B)。

A.int a[5]={0,1,2,3,4,5};B.char a[]={0,1,2,3,4,5};C.char a={'A','B','C'};D.int a[5]="0123";39、若要求定义具有10个int型元素的一维数组a,则以下定义语句中错误的是(D)。

A.#define N 10 Int a[N]B.#define n 5 Int a[2*n]C.int a[5+5]D.int n=10,a[n]40、以下能正确定义二维数组的是(C)。

A.int a[][3]; B.int a[][3]=2{2*3}; C.int a[2][3]={0};D.int a[2][3]={{1},{2},{3,4}};41、若有以下定义语句:int m[]={5,4,3,2,1},i=4;,则下面对m数组元素的引用中错误的是(C)。

A.m[i] B.m[2*2] C.m[m[0]] D.m[m[i]] 42、若有定义语句:double x[5]={1.0,2.0,3.0,4.0,5.0},*p=x;则错误引用x数组元素的是(B)。

A. *p B. x[5] C.*(p+1) D. *x 43、若有定义语句:char s[10]=〞1234567\0\0〞;,则strlen(s)的值是(A)A.7 B. 8 C. 9 D. 1044、有说明int a[][3]={1,2,3,4,5,6,7,8,9,10};则数组a的第一维的大小是(C)。

相关文档
最新文档