c语言试题(2)

合集下载

c语言二级考试试题及答案

c语言二级考试试题及答案

c语言二级考试试题及答案C语言二级考试试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言中数组的描述,正确的是:A. 数组名是一个变量名B. 数组名是一个常量C. 数组名是一个指针D. 数组名是一个函数答案:B2. 以下哪个是C语言中的合法变量名?A. 2variableB. variable-nameC. variable_nameD. variable name答案:C3. 在C语言中,以下哪个是正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello World" + "Hello World"D. "Hello\nWorld"答案:D4. C语言中,以下哪个不是标准输入输出库函数?A. printf()B. scanf()C. getchar()D. puts()答案:C5. 下列哪个是C语言中的条件语句?A. ifB. switchC. forD. while答案:A6. C语言中,以下哪个是正确的函数定义?A. int function_name(int x, int y) { /* ... */ }B. int function_name(int x, int y);C. int function_name(int x, y) { /* ... */ }D. int function_name(int x; int y) { /* ... */ }答案:A7. 在C语言中,以下哪个是正确的递归函数调用?A. function_name(x)B. function_name(x, y)C. function_name(function_name(x))D. function_name(&x)答案:C8. 在C语言中,以下哪个是正确的结构体定义?A. struct person { int age; char name[50]; };B. struct person { int age; char name[50] }C. struct person { int age; char name[50]; }D. struct person { int age; char name[50] } person;答案:A9. 在C语言中,以下哪个是正确的指针声明?A. int *ptr;B. int ptr*;C. *int ptr;D. int * ptr;答案:A10. 下列哪个是C语言中的位运算符?A. &&B. ||C. &D. ++答案:C二、填空题(每题2分,共10分)1. C语言中,使用________运算符可以实现两个整数的按位与操作。

C语言程序设计试题集及其答案 (2)

C语言程序设计试题集及其答案 (2)

第一章基础知识一.填空1.每个C程序都必须有且仅有一个________ 函数。

2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。

3. 软件是程序,以及______、使用和维护所需要的所有文档。

4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。

5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。

6. C语言是由________组成的。

7. C语言的函数可分为主函数main、标准库函数和_________。

8. 一个函数是由两部分组成的,即:________和函数体。

9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。

10.程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作的要求。

不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。

11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。

12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对象,也可以用标号和符号来代替地址、常量和变量。

13.在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。

14. C程序的执行均是由执行_________开始。

15.函数体即为包含在{}内的部分。

它分为________和为完成功能任务由若干个C 语句组成的执行部分。

16.C语言程序中一条简单语句是以________字符作为结束符的。

17.C语言是结构化、________的程序设计语言。

计算机c语言二级考试试题及答案

计算机c语言二级考试试题及答案

计算机c语言二级考试试题及答案一、单项选择1 下列数据中,为字符串常量的是()。

DA、'A'B、How do you do.C、$abcD、"house"2 以下所列的C语言常量中,错误的是( )。

BA、0xFFB、1.2e0.5C、2LD、'\72'3 以下程序的输出结果是()。

Dmain(){float x=3.6;int i;i=(int)x;printf("x=%f,i=%d\n",x,i);}A、x=3.600000,i=4B、x=3 i=3.600000C、x=3,i=3D、x=3.600000,i=34 若k是整型,则以下程序段的执行结果是:( ) B k=-3;if(k<=0) printf("####")else printf("&&&&");A、####B、有语法错误,无结果C、&&&&D、####&&&&5 若x=2,y=3则x||y的结果是( )。

CA、3B、0C、1D、26 针对下列程序段回答问题( B ).for(t=1;t<=100;t++){scanf("%d",&x);if(x<0) continue;printf("=",t);}A、x>=0时什么也不输出B、最多允许输出100个非负整数C、printf函数永远也不执行D、当x<0时整个循环结束7 以下程序的执行结果是( )。

Bmain(){ int num = 0;while( num <= 2 ) { num++; printf( "%d,",num ); } }A、0,1,2B、1,2,3,C、1,2,3,4,D、1,2,8 选择正确的输入语句( D )。

二级C语言试题(含答案)

二级C语言试题(含答案)

二级C语言试题(含答案)二级C语言试题一、判断题(2×8=16分)1、printf()函数总是从新行的起始位置开始打印。

( F )2、所有的变量在使用前都必须予以申明。

(F)3、在申明变量时必须给出变量的类型。

(T)4、C语言认为变量number和NuMbEr是相同的。

( F)5、打印三行输出的C语言程序必须用三条printf语句。

(F)6、求余运算符%只能用于两个整数操作数。

(T)7、switch选择结构中必须有default子句。

(F)8、如果x>y或ay&&a<b)为真。

(f)< p="">二、选择题(3×16=48分)1、下面实现换行功能的格式符为。

(B )A. \tB. \nC. \aD. \k2. C语言程序由什么组成?(单选) CA. 子程序B. 主程序和子程序C. 函数D. 过程3. 下面哪个表达式的值为4. DA. 11/3B. 11.0/3C. (float)11/3D. (int)(11.0/3+0.5)4. 该源程序执行后,屏幕上显示什么?void main(){int a;float b;a=4;b=9.5;printf("a=%d,b=%4.2f\n",a,b);}程序运行结果:a=4,b=9.50A. a=%d,b=%f\nB. a=%d,b=%fC. a=4,b=9.50D. a=4,b=9.55. 若有以下说明语句: Bchar s=’\\\092’;则下面哪一项是正确的.A. 使s的值包含2个字符B. 说明语句不合法C. 使s的值包含6个字符D. 使s的值包含4个字符6.若k,g均为int型变量,则以下语句的输出为哪一项? A int k,g;k=017;g=111;printf("%d,",k);printf("%x\n",g);A. 15,6fB. f,6fC. f,111D. 15,1117. 在C语言的if语句中,用作判断的表达式为___。

C语言程序设计试题2

C语言程序设计试题2

C语言程序设计试题2一、选择题(20分,每小题2分)1.C语言源程序的基本单位是()。

A.过程 B.函数 C.子程序 D.标识符2. 定义int *swap()指的是()A.指一个返回整型值的函数swapB.指一个返回指向整型值指针的函数swapC.一个指向函数swap()的指针,函数返回一个整型值D.以上说法均错3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是()。

A. 7 B. 8 C. 9 D. 24. C语言中函数返回值的类型是由()决定的。

A.return语句中的表达式类型 B.调用该函数的主函数类型C.定义函数时所指定的函数类型 D.传递给函数的实参类型5. 设有如下程序段,下面描述中正确的是()。

int k=10; while(k=0) k=k-1;A.循环执行一次 B.循环是无限循环C.循环体语句一次也不执行 D.循环体语句执行一次6.以下选项中可用作C程序合法实数的是A.1e0 B.3.0e0.2 C.E9 D.9.12E7.若有定义语句:int a=3,b=2,c=1;,以下选项中错误的赋值表达式是A.a=(b=4)=3;B.a=b=c+1;C.a=(b=4)+c;D.a=1+(b=c=4);8.设有说明“char s1[10],*s2=s1;”,下列语句中正确的语句是______。

A.*s2=”computer”; B.s2=”computer”;C.s1[]=”computer”; D.s1[10]=”computer”;9.x,y,z被定义为int型变量,若从键盘给x,y,z输入数据,正确的输入语句是:A.INPUT x、y、z;B.scanf("%d%d%d",&x,&y,&z);C.scanf("%d%d%d",x,y,z);D.read("%d%d%d",&x,&y,&z);10.具有相同类型的指针类型变量p与数组a,不能进行的操作是()。

C语言期末考试题目2

C语言期末考试题目2

指针一、单项选择题1。

已知:int a,*y=&a;则下列函数调用中错误的是。

A) scanf("%d”, &a);B)scanf("%d”,y);C)printf("%d", a);D) printf("%d",y);2。

说明语句”int (*p)();"的含义是。

A) p是一个指向一维数组的指针变量B) p是指针变量,指向一个整型数据C)p是一个指向函数的指针,该函数的返回值是一个整型D) 以上都不对3. 设有说明int (*p)[4];其中的标识符p是。

A)4个指向整型变量的指针变量B) 指向4个整型变量的函数指针C) 一个指向具有4个整型元素的一维数组的指针D)具有4个指向整型变量的指针元素的一维指针数组4。

已知:char s[10], *p=s,则在下列语句中,错误的语句是.A) p=s+5;B)s=p+s;C) s[2]=p[4];D)*p=s[0];5。

已知:char s[100];int i;则引用数组元素的错误的形式是.A) s[i+10]B)*(s+i)C) *(i+s)D) *((s++)+i)6。

已知:char s[6], *ps=s;则正确的赋值语句是。

A)s="12345";B)*s=”12345"; C)ps=”12345";D)*ps=”12345”;7。

已知:char a[3][10]={”BeiJing”,"ShangHai","TianJin"},*pa=a;不能正确显示字符串"ShangHai”的语句是。

A)printf(”%s”,a+1);B) printf("%s",*(a+1));C)printf(”%s",*a+1);D)printf(”%s",&a[1][0]);8。

计算机应用类专业C语言考试试题和答案2

计算机应用类专业C语言考试试题和答案2

计算机应用类专业C语言考试试题和答案一、单项选择题(共20题,每题3分,共60分)1、下面程序段的运行结果是。

char *s="abcde";s+=2;printf("%d",s);A)ced B)字符'c' C)字符'c'的地址 D)无确定的输2、设有以下程序段int x=0,s=0;while(!x!=0) s+=++x;printf("%d",s);则。

A)运行程序段后输出0 B)运行程序段后输出1C)循环的控制表达式不正确 D)程序段执行无限次3、若有说明:static int a[3][4];则数组中各元素。

A)可在程序的运行阶段得到初值0B)可在程序的编译阶段得到初值0C)不能得到确定的初值D)可在程序的编译或运行阶段得到初值04、对两个数组a和b进行如下初始化char a[]="ABCDEF";char b[]={'A','B','C','D','E','F'};则以下叙述正确的是。

A)a与b数组完全相同 B)a与b数组长度相同C)a和b中都存放字符串D)a数组比b数组长度长5、下面程序段的运行结果是。

int n=0;while(n++<=2);printf("%d",n);A)2 B)3 C)4 D)语法错误6、下面程序段的运行结果是。

#include "stdio.h"main(){int m=10, n=20;char *format="%s, m=%d, n=%d\n";m*=n;printf(format, "m*=n", m,n);}A. format, "m*=n", m, n B. format, "m*=n" C. m*=n, m=200, n=20 D.以上结果都不对7、下列选项中可用作变量名的是。

C语言考试例题2

C语言考试例题2

C语⾔考试例题2选择题sizeof(float)是()。

A、⼀个浮点表达式B、⼀个不合法的表达式C、运算结果是⼀个整型表达式。

D、⼀种函数调⽤下列数据中属于"字符串常量"的是( )。

A、'A'B、"ABC"C、ABCD、'ABC'⽤下⾯的scanf函数输⼊数据,使得i=10,k=15选择正确的键盘输⼊⽅法( ). (⽤"[CR]"表⽰回车,U表⽰空格) main(){int i,k;scanf("i=%d,k=%d",&i,&k);}A、i=10[CR]k=15[CR]B、i=10,k=15[CR]C、10U15[CR]D、10,15[CR]逻辑表达式3<2||-1&&4>3-!0的值为:( )A、1B、3C、0D、2下列运算符中是C语⾔关系运算符的是()。

A、&B、~C、!=D、!语句while(!E);中的表达式!E等价于()。

A、E==1B、E!=0C、E!=1以下正确的描述是( ).A、只能在循环体内和switch语句内使⽤break语句B、continue语句的作⽤是终⽌整个循环的执⾏C、从多层嵌套的外层循环中退出时,只能使⽤goto语句D、在循环体内使⽤break和continue语句的作⽤相同下⾯各语句中,能正确进⾏赋字符串操作的语句是( ).A、char s1[5][ ]={"ABCDE"};B、char s2[6]={'A','B','C','D','E'};C、char st[ ][ ]={"ABCDE"};D、char s[5]={'A','B','C','D','E'};若有说明: int a[3][4]={0};则下⾯正确的叙述是()。

C语言试题(第2学期)及答案

C语言试题(第2学期)及答案
C语言试卷
考试科目:C语言试题(第2学期) 班次 姓名 A卷 学号 共 5 页 成绩
注:试卷做在后面答题试卷上。 1. 选择填空(选择一个正确答案,将其对应字母填在横线上) (30分) 1.Turbo C 2.0程序中,一个int整型数据能表示数据的范围为 C ; A:0~255 B:0~65535 C:-32768~32767 D:0~ 32767 2.在下列描述中,正确的字符常量是 B A:“a” B:‘\n’ C:‘ABC’ ; D:‘1234’ B
c[i]=c[len-i-1]; c[len-i-1]=t; } } void main() { char c[100]; gets(c); exe_1(c); puts(c); } #include<stdio.h> #include<string.h> void main() { char s1[29],s2[69],len; int i; gets(s1); len=strlen(s1); for(i=0;i<len;i++) s2[len-1-i]=s1[i]; for(i=0;i<len;i++) printf("%c",s2); }把数组 a中的数赋值给另一个数组b,并逆序输出。 #include<stdio.h> #define n 6 void main() { int a[n]={1,2,3,4,5,6},b[n]; int i; for(i=0;i<n;i++) b[n-i-1]=a[i]; for(i=0;i<n;i++) printf("%d ",b[i]); } }
A:2,4;

C语言试卷2及答案

C语言试卷2及答案

C语言试卷2及答案(总8页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--扬州大学试题纸系课程 C语言程序设计(A)卷2002—2003学年第2学期班级_________学号________姓名__________得分___________一、选择题(每题分,共30分):1、已知:char a; int b; float c; double d;则执行语句:c=a+b+c+d; 后,变量c的类型为。

A. charB. intC. floatD. double2、已有定义int x; float y; 且执行scanf(“%2d%f”,&x,&y);语句时,从第一列开始输入数据12345 67<回车>,则y的值是。

A. 无定值B.C.D.3、设有以下程序段int x=0; s=0;while (!x!=0) s+=++x;printf(“%d”,s);则。

A. 运行程序段后输出0B. 运行程序段后输出1C. 程序段中的控制表达式是非法的D. 程序段执行无限次4、若i为整型变量,则以下循环执行次数是。

for(i=2; i==0;) printf(“%d”, i--);A. 无限次B. 2次C. 1次次5、假设char ch=’a’, *p=&ch;,以下语句中,有语法错误的是 .A. (*p)++;B. ch+=—‘a’+’A’;C. toupper(ch)=ch;D. ch++;6、若说明:char *language[ ]={“VFP”,”C”,”VB”,”VC”,”JAVA”};则language[2]的值是。

A. 一个字符B. 一个地址C. 一个字符串D. 一个不定值7、C语言程序中,当调用函数时。

A. 实参和虚参可以共用存储单元B. 实参和虚参各占一个独立的存储单元C. 可以由用户指定是否共用存储单元D. 由计算机系统自动确定是否共用存储单元8、在程序中要使用语句:printf(“%s\n”, STRING);输出提示信息:“OK! ”(包括双引号),则应使用宏定义语句。

C语言试题及答案解析(二)

C语言试题及答案解析(二)

C语言试题及答案解析(二)班级姓名学号____________一、选择题(20分)1.1966年,Bohra和Jacopini提出的三种基本程序设计结构是:________A.if、while和for; B. switch、do-while和for;C.while、do-while和for;D.顺序结构、分支结构和循环结构。

2.算法的特征不包括:______。

A.有穷性 B.可行性 C.确定性 D.有1个或者多个输入。

3.C语言源程序的基本组成单位是______。

A.函数 B. 语句 C. 声明和语句 D. 文件4.下列标识符中,只有______是合法的。

A.if B. 3ab C. Int D. A-45.下列常量中,只有______是合法的。

A.3e-0.3 B. ‘abc’ C. 02a1 D. ‘\377’6.下列说法中正确的是:______。

A.C语言中的for语句的三个表达式都可以省略,而且分号也可以省略。

B.宏替换比函数调用的执行速度慢。

C.实质上,C语言中的指针就是一个变量的地址。

D.C语言中的任何函数都可以由程序员命名。

7.C语言中,运算对象必须是整型的运算符是_______。

A./ B. % C. + D. -8.以下叙述中错误的是_______。

A.C语句必须以分号结束B.复合语句在语法上被看作一条语句C.空语句出现在任何位置都不会影响程序运行D.赋值表达式末尾加分号就构成赋值语句9.以下叙述中正确的是_______。

A.调用printf函数时,必须要有输出项B.使用putchar函数时,必须在之前包含头文件stdio.hC.在C语言中,整数可以以十二进制、八进制或十六进制的形式输出D.调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码10.以下关于函数的叙述中正确的是_______。

A.每个函数都可以被其它函数调用(包括main函数)B.每个函数都可以被单独编译C.每个函数都可以单独运行D.在一个函数内部可以定义另一个函数11.有以下程序段typedef struct NODE{int num;struct NODE *next;} OLD;以下叙述中正确的是_______。

《C语言程序设计》试题2及答案

《C语言程序设计》试题2及答案

二一、填空题1、C语言中普通整型变量的类型说明符为,在内存中占字节,有符号普通整型的数据范围是。

2、C语言中基本的数据类型有:、、。

3、设整型变量n的值为2,执行语句“n+=n-=n*n”后,n的值是。

4、共用体和结构体的定义格式类似,不同点是。

5、有如下输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是。

6、有语句:char A[ ]={”I am a student”};该字符串的长度是,A[3]= 。

7、符号”a”和’a’的区别。

8、下列程序的输出结果是。

int ast(int x,int y,int * cp,int * dp){ *cp=x+y; *dp=x-y; }main(){ int a=4,b=3,c,d;ast(a,b,&c,&d);printf("%d,%d/n",c,d); }二、选择题1、以下选项中属于C语言的数据类型是(B )。

A. 复合型B. 双精度型C. 逻辑型D. 集合型2、以下说法中正确的是( C )。

A. C语言程序总是从第一个的函数开始执行B. 在C语言程序中,要调用的函数必须在main()函数中定义C. C语言程序总是从main()函数开始执行D. C语言程序中的main()函数必须放在程序的开始部分3、选出下列标识符中不是合法的标识符的是( D )。

A. hot_doB. cat1C. _priD. 2ab4、下列描述中不正确的是( C )。

A.字符型数组中可能存放字符串。

B.可以对字符型数组进行整体输入、输出。

C.可以对整型数组进行整体输入、输出。

D.不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。

5、若已定义:int a[9], *p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式为( C )。

c语言二级考试试题

c语言二级考试试题

c语言二级考试试题一、选择题1. 在C语言中,用于表示整数常量的关键字是()。

A. intB. floatC. doubleD. char2. 下列关于C语言函数的描述,正确的是()。

A. 函数必须在main函数之前定义B. 函数可以返回多个值C. 函数可以没有返回值,即返回类型为voidD. 函数的定义必须包含参数列表3. 在C语言中,表达式3+4*5的计算结果是()。

A. 20B. 23C. 25D. 354. 若有定义int a=5;,则执行语句a += a;后,变量a的值是()。

A. 5B. 10C. 15D. 205. 在C语言中,用于动态分配内存空间的函数是()。

A. mallocB. freeC. callocD. realloc二、填空题1. 在C语言中,一个基本的整型变量占用的内存空间是()个字节。

2. 若有定义float b=3.14;,则printf("%f", b);的输出结果是()。

3. 在C语言中,逻辑非运算符的符号是()。

4. 字符串"Hello, World!"的长度是()。

5. 若有定义int c=97;,则'a'+c的结果是()。

三、编程题1. 编写一个C语言程序,输入一个整数,判断并输出该整数是否为素数。

2. 编写一个C语言程序,实现字符串的逆序输出。

3. 编写一个C语言程序,计算并输出一个整数数组中所有元素的和。

四、阅读理解题阅读以下C语言程序片段,并回答问题。

```c#include <stdio.h>int main() {int a = 10, b = 20;printf("%d %d", a, b);return 0;}```1. 程序的输出结果是什么?2. 如果在printf函数调用中,格式字符串改为"%d, %d",程序的输出结果会有什么变化?3. 如果将变量a和b的值交换,应如何修改代码?请给出修改后的代码片段。

C语言期末试题2(带答案)

C语言期末试题2(带答案)

C语言期末试题2(带答案)13-14-2 48课时C语言模拟练习总共42题共100分答卷编号:12311112222211333答题开始时间:2014-06-09 10:52:09答题结束时间:2014-06-09 10:52:13考生姓名:翟方正考试时间:00:00:04分钟总得分:0分评卷人:系统自动评卷评卷时间:2014-06-09 10:52:13一、单选题(共15题,共30分)1. 在C语言中,回车换行符是()(2分)A.'\n'B.'\t'C.'\v'D.'\b'标准答案:A考生答案:2. 以下选项中,不能作为合法常量的是()(2分)A.1.234e04B.1.234e0.4C.1.234e+4D.1.234e0标准答案:B考生答案:3. 若有语句int *point,A=4;和point=&A下面均代表地址的一组选项是()(2分)A.A,point,*&AB.&*A,&A,*pointC.*&point,*point,&AD.&A,&*point ,point标准答案:D考生答案:4. 设x,y和z都是int型变量,且x=3,y=4,z=5,则下面表达式中,值为0的表达式是()(2分)A.x&&yB.x<=yC.x︱︱++y&&y-zD.!(x<y&& !z︱︱1)<="" p="">标准答案:D考生答案:5. 以下叙述中正确的是()(2分)A.C语言可以用来编写系统软件,也可以用来编写应用软件B.函数体不必用一对大括号{}括起来C.C程序的每一行只能写一条语句D.对一个C程序进行编译的过程可以发现注释中的拼写错误标准答案:A考生答案:6. 执行下面程序段后,c3中的值是()int c1=1,c2=2,c3;c3=c1/c2; (2分)A.0B.1/2C.0.5D.1标准答案:A7. 以下程序的输出结果是( )main(){ int a=12,b=12;printf("%d %d\n",--a,++b);} (2分)A.10 10B.12 12C.11 10D.11 13标准答案:D考生答案:8. 以下定义语句中,错误的是( ) (2分)A.int a[]={1,2};B.char *a[3];C.char s[10]="test";D.int n=5,a[n];标准答案:D考生答案:9. 以下程序的输出结果是()main(){int k=11;printf("k=%d,k=%o,k=%x\n",k,k,k);} (2分)A.k=11,k=12,k=11B.k=11,k=13,k=13C.k=11,k=013,k=0xbD.k=11,k=13,k=b 标准答案:D考生答案:10. main( ){int p[7]={11,13,14,15,16,17,18}, i=0,k=0; while(i<7&&p[i]%3){k =k+ p[i]; i++;}printf("%d\n", k);}执行后输出结果是()(2分)A.58B.53C.38D.24标准答案:C考生答案:11. 以下程序段的输出结果是()int x=0,y=5,z=3;while(z-->0&&++x<5) y=y-1;printf("%d,%d,%d\n",x,y,z); (2分)A.3,2,0B.3,2,-1C.4,3,-1D.5,-2,-5考生答案:12. 若以下程序所生成的可执行文件名为file1.exe,则当在操作系统状态下输入下述命令行执行该程序时FILE1 CHINA BEIJING SHANGHAI程序的输出结果是()#includemain(int argc,char *argv[]){while (argc-->1){++argv;printf("%s ",*argv);}printf("\n");} (2分)A.CHINA BEIJING SHANGHAIB.FILE1 CHINA BEIJING SHANGHAIC.C B SD.F C B标准答案:A考生答案:13. 执行下述程序的输出结果是()#includeint power(int x,int y);main(){float a=2.6,b=3.4;int p;p=power((int)a,(int)b);printf("%d\n",p);}int power(int x,int y){int i,p=1;for (i=y;i>0;i--)p=p*x;return (p);} (2分)A.8B.9C.27D.81标准答案:A考生答案:14. 有以下程序main(){ int x[8]={8,7,6,5,0,0}, *s;s=x+3;printf("%d\n",s[2]);}A.随机值B.0C.5D.6标准答案:B考生答案:15. 执行下述程序的输出结果是()#includemain(){int aa[3][3]={{2},{4},{6}};int i,*p=&aa[0][0];for (i=0;i<2;i++){if (i==0)aa[i][i+1]=*p+1;else++p;printf("%d",*p);}printf("\n");} (2分)A.23B.26C.33D.36标准答案:A考生答案:二、判断题(共10题,共10分)1. C语言中,标识符的第一个字符可以是数字(1分) ( )标准答案:错误考生答案:2. "hello!"是合法的字符串常量表示形式(1分) ( )标准答案:正确考生答案:3. 若有定义int a[3][4];则a[1+1][0]是对数组a元素的正确引用形式(1分) ( )标准答案:正确考生答案:4. 在switch语句中使用continue语句与使用break语句作用相同(1分) ( )标准答案:错误考生答案:5. 用do-while语句构成循环时,只要while后的表达式为0时就结束循环(1分) ( )标准答案:正确考生答案:6. char a[]={0,1,2,3,4,5,6};不是正确的语句(1分) ( )标准答案:错误考生答案:7. 已经定义了指针变量p,且p指向变量a(即p=&a),则*p与a的含义相同。

C语言模拟试题II

C语言模拟试题II

《C语言程序设计教程实验与练习》(第二版)模拟试题II及答案一、单项选择题(每题2分,30道题,共60分)1.下面的程序将输出:main(){float f;int x=1,y=;f=x/y;printf("f=%,y=%#X", f, y );}= , y=2 = , y=0X2 = , y=0X2 = , y=22.下面的程序将输出:#include ""main(){int len;char str[]="a\b\04235\0";len=strlen(str);printf("%d",len);}A. 10B. 5C. 6D. 73.下面的程序将输出:main(){int a=0x31;char *str[]={"this is one. ","this is two. "};char ch;ch=++a-’0’;switch(ch){case 1: printf ("%s", str[0]);case 2: printf ("%s", str[1]);default: printf ("no way! ");}}is one. is two. way! is way!4.下面的程序将输出:main(){int a[5]={1,2,3};int k,j;for(k=1;k<4;k++)a[k]++;for(j=0;j<5;j++)printf("%d ",a[j]);}3 4 1 0 3 4 1 0 3 4 0 0 3 4 0 05.已知有下面两个变量,将数组a的第2个单元赋值为1的C语句是:int a[10];int *p;p=a;[2]=1; [1]=1; C.*(p++)=1; D.*(++a)=1;6.下面程序将输出:void add(int a){a++;return;}main(){int k;k=;add(k);printf("%d",k);}A. B. C. 3 D. 47.下列循环结构中,不是..无限循环的是:A. for(i=1, s=0; ; i++)B. i=10;s=s+i ; while(1){i=i%10+1;if(i>10) break; }C. int i=0;D. i =100;do{ ++i ; }while(i>=0); while(++i%2) i++;8.若已知int a[3][4],*p;p=(int *)a;那么对数组a的第2行第2列的正确引用是:[2][2] [5] [5] [1][1]9.已知:int (*p)[20]; 且p的值是0X5000,请问表达式p+2的值是多少?A. 0X5050B. 0X5002C. 0X5004D. 0X504010.若有说明int a[2][2];那么,下面正确的C赋值语句是:=2; [1]=2; [1]={1,2}; [0][1]=a[1][0];11.设x为int型变量,则执行以下语句后,x的值为x=10; x+=x-=x-x;A.10 B.20 C.40 D.3012.已知x=43,ch='A',y=0;则表达式(x>=y&&ch<'B'&&!y)的值是:A.0 B.语法错C.1 D."假"13.下面能正确进行字符串...赋值操作的语句是:A.char s[5]={"ABCDE"}; B.char s[]={'A','B','C','D','E'};C.char *s;s="ABCDEF"; D.char *s;scanf("%s",s);14.已知:int a[3][4], *p=&a[0][0]; p+=6; 那么*p 和_____的值相同.A.(a+6) B.*(&a[0]+6) C.a[2][2] D.*(&a[0][0]+6) 15.设有以下说明和定义:typedef union { long i; int k[4]; char c; }DATE;struct date { int cat; DATE cow; double dog; } too;DATE max;则下列语句的执行结果是printf ("%d",sizeof (struct date ) +sizeof(max));A.26 B.30 C.18 D.816.设有如下定义:int *(*ptr)();则以下叙述中正确的是A.ptr是指向一维组数的指针变量B.ptr是指向int型数据的指针变量C.ptr是指向函数的指针,该函数返回一个int型数据D.ptr是指向函数的指针,该函数的返回值是指向int型数据的指针17.若二维数组a 有m列,则在a[i][j]之前的元素个数为______A.j*m+i B.i*m+j C. i*m+j-1 D.i*m+j+118.以下程序运行后,输出结果是A.13 B.51 C.11 D.53int d=1;fun (int p){int d=5;p=d;printf("%d",p);}main(){int a=3;fun(a);d=a;printf("%d\n",d);}19.以下程序运行后,如果从键盘上输入ABCDE<回车>,则输出结果为A.4 B.7 C.6 D.5#include<>#include<>func(char str[ ] ){ int num =0;while(*(str+num)!='\0') num++;return(num);}main( ){char str[10],*p=str;gets(p); printf("%d\n",func(p));}20.执行以下程序段后,m的值为int a[2][3]={ {1,2,3},{4,5,6} };int m,*p;p=&a[0][0];m=(*p)*(*(p+2))*(*(p+4));A.15 B.14 C.13 D.1221.已知定义了两个结构体变量,下面是正确的语句是:struct {int x; char name[10]; float mark;} S1,S2;A. S1={5, ”yang”, };B. S1=S2;C. = ; = ; =;D. strcpy(S1,S2);22.下面这段程序运行的结果是:int a=0x4145;char *p;p=(char *)&a;*p+=1;printf(“%X” , *p);A. 46B. 4223.下面这段程序运行的结果是:char str[ ]=”%#X”;int a=50;printf(str,a++);D.有语法错24.下面哪个语句是函数的原型声明A. int (*f)(int a , int b);B. int f(int a , 5);C. int f(int a , int b);D. int f(int a=5, int b=6);25.已知int a=0XF11F , b; 执行完下面的操作后,a的值是多少?b=(a&0xFF00)>>4;A. 0X0FF1B. 0XF11F D. 0XFFF126.有以下程序:int a=2;int f(int *a){return (*a)++;}main( ){ int s=0;{ int a=5;s+=f(&a);}s+=f(&a);printf("%d\n",s);}执行后输出结果是。

c语言考试题目2

c语言考试题目2

【考试题目】程序填空题请补充main函数,该函数的功能是:从键盘输入一个字符串及一个指定字符,然后把这个字符及其后面的所有字符全部删除。

结果仍然保存在原串中。

例如,输入“abcdef”,指定字符为‘e’,则输出“abcd”。

注意:部分源程序已给出,并保存在考生文件夹下的blank1.c 文件中。

请勿改动主函数main和其他函数中的任何内容,仅在main 函数的横线上填入所编写的若干表达式或语句,并将横线去掉,同时确保答案与前后字符之间至少保留一个空格。

#include <stdio.h>#define N 80main(){int i=0;char str[N];char ch;printf("\n Input a string:\n"); gets(str);printf("\n Input a charator;\n"); scanf("%c", &ch);while(str[i]!='\0'){if(str[i]==ch)____________ ;}str[i]= ______ ;printf("\n*** display string ***\n");puts(str);}程序修改题已知一个数列从0项开始的前3项:0,0,1,以后的各项都是其相邻的前3项之和。

下列给定的程序中,函数fun()的功能是:计算并输出该数列前n项的平方根之和sum。

n的值通过形参传入。

例如,当n=10时,程序的输出结果应为23.197745。

请改正程序中的错误,使它能得出正确的结果。

注意:源程序保存在考生文件夹下的modi1.c 文件中。

不要改动main函数,不得增行或删行,也不得更改程序的结构,注释语句(/**found**/)下方的第一条语句有错误。

#include <conio.h>#include <stdio.h>#include <math.h>/**********************found***********************/fun(int n){double sum, s0, s1, s2, s; int k;sum=1.0;if (n<=2) sum=0.0;s0=0.0; s1=0.0; s2=1.0;for (k=4;k<=n;k++){ s=s0+s1+s2;sum+=sqrt(s);s0=s1;s1=s2;s2=s;}/**********************found***********************/return sum}main(){int n;printf("Input N=");scanf("%d",&n);printf("%f\n",fun(n));}程序设计题编写函数fun(),它的功能是:根据以下公式求p的值,结果由函数值带回。

C语言测试题2

C语言测试题2
16、在C语言中,下列对于字符数组的定义与赋值正确的是().(选择二项)
A、char name[4]="ACCP";B、char name[4]={'A','C','C','P'};
C、char name[]="ACCP";D、char name={'A','C','C','P'};
17、有如下一组数据:25,15,5,10,51为了把该组织数据按升序排序,如果采用冒泡排序法,需要比较()次(选择一项)
2、定义函数fun,接收用户输入的10个数字,筛选出其中的奇数和偶数,分别用数组存放,将奇数数组按从小到大排序后输出,将偶数数组按从大到小排序后输出
如:输入45 89 52 13 66 102 99 11 73 100
分别放入数组a[]:45 89 13 99 11 73
b[]:52 66 102 100
{
switch(n%3)
{
case 2:
putchar('2');
case 1:
putchar('i');
break;
case 0:
putchar('H');
}
n++;
}
}
A)Hi2Hi2HiB)Hi2C)Hi2iHi2iD)Hi2iHi2iHi
13、已知下列C语言代码的输出结果是2008年是闰年,已知闰年的判定规则是:能被4整除但不能被100整除的年份,或能被400整除的年份。请问在空白处可以填写的代码是()(选择一项)
18、A、10 B、15 C、9 D、11

全国计算机c语言二级试题及答案

全国计算机c语言二级试题及答案

全国计算机c语言二级试题及答案全国计算机C语言二级试题及答案一、单选题(每题2分,共20分)1. 在C语言中,以下哪个选项是正确的整型常量表示方法?A. 0x1AB. 0.123C. 1.23e10D. 1.23E+10答案:A2. 下列关于C语言中数组的描述,错误的是?A. 数组可以存储相同类型的元素B. 数组的元素必须在编译时确定C. 数组的元素可以是任意数据类型D. 数组的大小在运行时可以改变答案:D3. 在C语言中,以下哪个关键字用于定义函数?A. classB. structC. functionD. void答案:D4. C语言中,以下哪个运算符用于取地址?A. *B. &C. %D. #答案:B5. 下列哪个选项不是C语言中的控制结构?A. 循环B. 选择C. 跳转D. 继承答案:D6. 在C语言中,以下哪个选项是合法的变量名?A. 2variableB. variable2C. _variableD. variable$答案:C7. C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpyB. strcatC. strcmpD. strlen答案:A8. 在C语言中,以下哪个选项是正确的结构体定义?A. struct {int a;float b;};B. struct {int a;float b;} myStruct;C. struct {int a;float b;} myStruct;D. struct myStruct {int a;float b;};答案:D9. C语言中,以下哪个选项是正确的文件操作函数?A. fopenB. fcloseC. fwriteD. All of the above答案:D10. 在C语言中,以下哪个选项是正确的指针类型声明?A. int *p;B. *int p;C. int *p;D. int p*;答案:A二、填空题(每题2分,共20分)1. 在C语言中,表示逻辑“与”的运算符是________。

C语言程序设计试题2

C语言程序设计试题2

C语言程序设计试题2一、单项选择题(每题2分,共40分)1.以下叙述中正确的是。

A。

C语言系统以函数为单位编译源程序B.main函数必须放在程序开始C。

用户定义的函数可以被一个或多个函数调用任意多次D.在一个函数体内可以定义另外一个函数2.以下选项中,不能用作c语言标识符的是A.printB.FOR C。

&a D。

_003.对于以下程序片段,描述正确的是.int x = -1;do{x = x * x;}while(!x);A。

是死循环B。

循环执行两次C.循环执行一次D。

有语法错误4.已知有声明”int a=3,b=4,c=5;”,以下表达式中值为0的是。

A。

a&&b B.a<=b C.a||b&&c D。

!(!c||1)5.已知有声明"long x,y;"且x中整数的十进制表示有n位数字(4<n<10),若要求去掉整数x 十进制表示中的最高位,用剩下的数字组成一个新的整数并保存到y中,则以下表达式中能正确实现这一功能的是。

A.y=x/(10*(n—1))B.y=x%(10*(n-1))C.y=x%(long)pow(10,n—1)D.y=x%(10^(n-1))6。

已知有声明”int x,y;",若要求编写一段程序实现"当x大于等于0时y取值1,否则Y 取值-1”,则以下程序段中错误的是。

A.if(x〉=0)y=1;else y=-1;B。

y=x>=0?1:—1;C.switch()D.switch(x-abs(x)){case x〉=0:y=1;break; {case 0:y=1;break;default:y=—1; default:y=—1;}}7。

已知有声明"int m[]={5,4,3,2,1},i=0;”,下列对m数组元素的引用中,错误是.A。

m[++i] B.m[5]C。

m[2*2] D。

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

试卷编号:8093所属语言:C语言试卷方案:09-10学年第二学期计算机程序设计语言试卷总分:100分共有题型:4种一、填空共5题(共计20分)第1题(4.0分)题号:1539按内存排列顺序, 数组char a[2]中的所有元素是a[1]和【1】.答案:=======(答案1)=======a[0]第2题(4.0分)题号:641设x=5>1+2,x的值为【1】.答案:=======(答案1)=======1第3题(4.0分)题号:1494函数的定义不可以嵌套,但函数的调用【1】嵌套.答案:=======(答案1)=======可以第4题(4.0分)题号:1162设char a,b;若想通过a&& b运算保留a的第1位和第6位的值,则b的二进制数是【1】. 答案:=======(答案1)=======10000100第5题(4.0分)题号:1282执行下列语句的结果是【1】,a=3;printf("%d,",++a);printf("%d",a++); 答案:=======(答案1)=======4,4二、单项选择共15题(共计30分)第1题(2.0分)题号:680在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是()。

A:地址传递B:单向值传递C:由实参传给形参,再由形参传回实参D:传递方式由用户指定答案:B第2题(2.0分)题号:635若有说明:int a[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是()。

A:2B:3C:4D:无确定值答案:B第3题(2.0分)题号:723函数调用语句:fseek(fp,-20L,2);的含义是()。

A:将文件位置指针移到距离文件头20个字节处B:将文件位置指针从当前位置向后移动20个字节C:将文件位置指针从文件末尾处退后20个字节D:将文件位置指针移到离当前位置20个字节处答案:C第4题(2.0分)题号:515int i,j,a[2][3];按照数组a的元素在内存的排列次序,不能将数1,2,3,4,5,6存入a数组的是()。

A:for(i=0;i<2;i++)for(j=0;j<3;j++)a[i][j]=i*3+j+1;B:for(i=0;i<3;i++)for(j=0;j<2;j++)a[j][i]=j*3+i+1;C:for(i=0;i<6;i++)a[i/3][i%3]=i+1;D:for(i=1;i<=6;i++)a[i][i]=i;答案:D第5题(2.0分)题号:103以下运算符中,优先级最高的运算符是()。

A:*=B:>=C:(类型)D:+答案:C第6题(2.0分)题号:743C语言结构体类型变量在程序执行期间()。

A:所有成员一直驻留在内存中B:只有一个成员驻留在内存中C:部分成员驻留在内存中D:没有成员驻留在内存中答案:A第7题(2.0分)题号:544char *s1="hello",*s2;s2=s1;则()。

A:s2指向不确定的内存单元B:不能访问"hello"C:puts(s1);与puts(s2);结果相同D:s1不能再指向其它单元答案:C第8题(2.0分)题号:549若有double *p,x[10];int i=5;使指针变量p指向元素x[5]的语句为()。

A:p=&x[i];B:p=x;C:p=x[i];D:p=&(x+i)答案:A第9题(2.0分)题号:146用下列语句定义a,b,c,然后执行b=a、c='b'+b,则b,c的值是()。

long a=0xffffff;int b; char c;A:0ffffff 和0x61B:-1和98C:-1和97D:指向同一地址答案:C第10题(2.0分)题号:170关于return语句,下列正确的说法是()。

A:不能在主函数中出现且在其他函数中均可出现B:必须在每个函数中出现C:可以在同一个函数中出现多次D:只能在除主函数之外的函数中出现一次答案:C第11题(2.0分)题号:546若有char a[80],*s=a;不正确的输入语句是()。

A:scanf("%s",s);B:gets(s);C:fscanf(stdin,"%c",s);D:fgets(s,80,stdin);答案:C第12题(2.0分)题号:136下列程序的输出结果为()。

main(){int m=7,n=4;float a=38.4,b=6.4,x;x=m/2+n*a/b+1/2;printf("%f\n",x);}A:27.000000B:27.500000C:28.000000D:28.500000答案:A第13题(2.0分)题号:611以下for循环的执行次数是 for(x=0,y=0;(y=123)&&(x<4);x++);()。

A:是无限循环B:循环次数不定C:4次D:3次答案:C第14题(2.0分)题号:125下列程序的输出结果是()。

main(){int a=7,b=5;printf("%d\n",b=b/a);}A:0B:5C:1D:不确定值答案:A第15题(2.0分)题号:115先用语句定义字符型变量c,然后要将字符a赋给c,则下列语句中正确的是()。

A:c='a';B:c="a";C:c="97";D:C='97'答案:A三、程序填空共5题(共计30分)第1题(6.0分)题号:7/*------------------------------------------------------- 【程序填空】---------------------------------------------------------功能:从键盘上输入一个字符串, 将该字符串升序排列后输出到文件test.txt中,然后从该文件读出字符串并显示出来。

-------------------------------------------------------*/#include<stdio.h>#include<string.h>#include<stdlib.h>main(){FILE *fp;char t,str[100],str1[100]; int n,i,j;if((fp=fopen("test.txt","w"))==NULL){printf("can't open this file.\n");exit(0);}printf("input a string:\n"); gets(str);/***********SPACE***********/【?】;/***********SPACE***********/for(i=0; 【?】 ;i++)for(j=0;j<n-i-1;j++)/***********SPACE***********/if(【?】){t=str[j];str[j]=str[j+1];str[j+1]=t;}/***********SPACE***********/【?】;fclose(fp);fp=fopen("test.txt","r");fgets(str1,100,fp);printf("%s\n",str1);fclose(fp);}答案:=======(答案1)=======n=strlen(str)=========或=========for(n=0;str[n]!='\0';n++) =========或=========for(n=0;str[n];n++)=========或=========for(n=0;str[n]!=0;n++)=======(答案2)=======i<n=========或=========n>i=========或=========i<-1+n=========或=========i<n-1=========或=========n-1>i=========或=========-1+n>i=========或=========i<=n-1=========或=========n-1>=i=========或=========-1+n>=i=======(答案3)=======str[j]>str[ j + 1 ]=========或=========str[ j + 1 ]<str[j]=========或=========str[j+1]<str[j]=========或=========str[j+1]<=str[j]=======(答案4)======= fputs(str,fp)=========或========= fprintf(fp,"%s\n",str)=========或=========fprintf(fp,"%s",str)第2题(6.0分)题号:472/*------------------------------------------------------- 【程序填空】---------------------------------------------------------功能:现有两组有序数组(增序),x[i]、y[j]代表数组x、y的任一元素,问满足x[i]>y[i]的元素对有多少个?-------------------------------------------------------*/ #include <stdio.h>int dominance_count(int f[], int g[], int m, int n){int index_f, index_g;int count;count = index_f = index_g = 0;while (index_f < m && index_g < n)if (f[index_f] <= g[index_g])index_f++;else{index_g++;/***********SPACE***********/count += 【?】;}/***********SPACE***********/【?】; }#include <stdio.h>void main(void){int x[] = { 1, 6, 8 };int nx = sizeof(x)/sizeof(int);int y[] = { 4, 5, 7 };int ny = sizeof(y)/sizeof(int);int dominance_count(int [], int [], int, int), i;printf("\nDominance Count of two increasing Arrays\n"); printf("\n # Array 1 Array 2");printf("\n -- ------- -------");for (i = 0; i < nx; i++)printf("\n%3d%10d%10d", i, x[i], y[i]);printf("\n\nThere are %d Dominance Pairs.",/***********SPACE***********/【?】);}答案:=======(答案1)=======m - index_f=========或=========m - index_f=======(答案2)=======return count=======(答案3)=======dominance_count(x, y, nx, ny)第3题(6.0分)题号:442/*------------------------------------------------------- 【程序填空】---------------------------------------------------------功能:将长整型数中每一位上为奇数的数依次取出,构成一个新数放在t中。

相关文档
最新文档