浙江海洋学院09C语言试卷A-B(试题)
- 格式:docx
- 大小:40.11 KB
- 文档页数:6
海洋大学c语言考试题及答案海洋大学C语言考试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个结构体?A. intB. structC. floatD. char答案:B2. 下列哪个不是C语言标准输入输出库中的函数?A. printf()B. scanf()C. get()D. puts()答案:C3. 在C语言中,数组的下标默认从哪个数字开始?A. 0B. 1C. -1D. 任意数字答案:A4. C语言中,以下哪个语句用于结束一个循环?A. continueB. breakB. returnD. exit答案:B5. 在C语言中,指针的指针是什么?A. 一个数组B. 一个指向指针的指针C. 一个函数D. 一个结构体答案:B6. 下列哪个操作符用于计算两个变量的值的乘积?A. *B. /C. %D. +答案:A7. C语言中,用于定义一个函数的关键字是?A. functionB. defC. voidD. int答案:D(通常用于返回类型,但也可以用于定义函数)8. 在C语言中,以下哪个是正确的字符串字面量?A. "Hello World"B. 'Hello World'C. hello worldD. Hello World答案:A9. 在C语言中,哪个函数用于获取一个字符的ASCII码值?A. getchar()B. putchar()C. ord()D. ascii()答案:A10. 下列哪个是C语言中的合法标识符?A. classB. 2variableC. VariableNameD. #include答案:C二、填空题(每空3分,共30分)11. C语言中,用于计算两个整数的平均值的函数是______。
答案:average12. 当一个变量的值需要在函数之间共享时,可以使用________关键字。
答案:static13. 在C语言中,________语句允许程序跳过当前循环的剩余部分,直接开始下一次循环。
海洋大学c语言考试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个选项是合法的标识符?A. 2variableB. variable2C. variable-2D. variable_2答案:B2. 在C语言中,以下哪个选项是正确的整型常量?A. 0x1AB. 0x1aC. 0x1A.1D. 0x1a.1答案:A3. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. &&D. ||答案:A4. 在C语言中,以下哪个选项表示的是“或”逻辑运算?A. &&B. ||C. !D. ~答案:B5. C语言中,以下哪个选项是正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello World\n"D. 'Hello World\n'答案:A6. 在C语言中,以下哪个选项是正确的数组声明?A. int array[5] = {1, 2, 3};B. int array[] = {1, 2, 3};C. int array[5] = {1, 2, 3, 4};D. int array[5] = {1, 2, 3, 4, 5, 6};答案:B7. C语言中,以下哪个选项是正确的函数声明?A. int add(int a, int b);B. int add();C. int add(int a, int);D. int add(int, int);答案:A8. 在C语言中,以下哪个选项是正确的结构体声明?A. struct Student {int id;char name[20];};B. struct Student {int id;char name;};C. struct Student {int id;char name[20];int age;};D. struct Student {int id;char name;int age;};答案:A9. C语言中,以下哪个选项是正确的指针声明?A. int *ptr;B. int *ptr[];C. int (*ptr)[];D. int (*ptr)();答案:A10. 在C语言中,以下哪个选项是正确的文件操作?A. FILE *fp = fopen("file.txt", "r");B. FILE *fp = open("file.txt", "r");C. FILE *fp = fopen("file.txt", "w+");D. FILE *fp = open("file.txt", "w+");答案:A二、填空题(每题2分,共20分)1. C语言中,字符常量可以用单引号括起来,例如:'A'。
2009年08级C程序设计期末考试B卷参考答案姓名___________学号___________班级____________得分___________ [注意]所有答案写在单张的答题卷上。
一、判断题(正确的答A,错误的答B,本题共10分,每小题1分)二、单选题(本题共20分,每小题2分)三、程序填空题(本题共30分,每小题2分)四、程序阅读题(本题共20分,每小题5分)五、程序设计题(本题共20分)(1)6分1.#include<stdio.h> intsum(longnumber){ints=0,m;while(number!=0){m=number%10;s+=m;number=number/10;}returns;}voidmain(){longnumber=0;scanf(“%ld”,&number);printf(“sum(%ld)=%d\n”,number,sum(number));}(2)5分intff(char*str,charch){intcount=0;while(*str){if(*str==ch)count++;str++;}returncount;}(3)9分#include<stdio.h>#include<stdlib.h>voidmain(){charch,c,s[80];intk;FILE*fp;if((fp=fopen("input.txt","r"))==NULL) Array {printf("error\n");exit(0);}ch=getchar();k=0;while(1){c=fgetc(fp);if(c=='\n'||c==EOF){s[k]='\0';k=0;printf("%d\n",ff(s,ch));if(c==EOF)break;}elses[k++]=c;}fclose(fp);}或k=0;while(!feof(fp)){c=fgetc(fp);if(c!='\n')s[k++]=c;else{s[k]='\0';k=0;printf("%d\n",f(s,ch));}}if(c!='\n'){s[k]='\0';printf("%d\n",ff(s,ch));}生于忧患,死于安乐《孟子•告子》舜发于畎亩之中,傅说举于版筑之间,胶鬲举于鱼盐之中,管夷吾举于士,孙叔敖举于海,百里奚举于市。
2009级C语言程序设计期末考试试题答案一、选择题(15分,每题1分)1—5、C A A A A 6-10、 B C A D D11-15 B A D D C二、判断题(正确的打√,错误的打×,每题1分,共10分)1、√2、×3、×4、√5、√6、×7、×8、√9、×10、√三、阅读程序,写出程序的执行结果(10个小题,每题2。
5分,共25分)1、hello2、2, 2,23、p=104、4,35、a1=1 x1=3 x2=3 x3=46、t=10,row=2,column=17、007.58、12 15 189、1,210、10,2020,10四、程序填空,(每空2分,共30分)【1】〈.stdio.h>【2】x>0【3】x<amin【4】<0【5】i【6】float item,sum【7】&n【8】item=item/i【9】return (1)【10】n*fac(n—1)【11】math。
h【12】m〈200;m++【13】j〈=root【14】break【15】k%10==0五、编程题(2个小题,共20分)1、#include <stdio。
h〉#include <math。
h>int main(){int i;for(i=100;i〈1000;i++)if(flower(i)==1)printf(“%d is a flower—number”, i);return 0;}int flower( int n){int a,b,c,s;a=n/100;b=(n-100*a)/10;c=n%10;s=pow(a,3.0)+pow(b,3。
0)+pow(c,3。
0);if(s==n)rerutn(1);else return (0);}2、选择排序main(){int i;int a[10];for(i=0;i<10;i++)scanf(“%d" &a[i]);selectsort(a,10);for(i=0;i<10;i++)printf(“%d" a[i]);}void selectsort(int s[ ],int n){int i,j,k,t;for(i=0;i〈n—1;i++){ k=i;for(j=i+1;j〈n;j++)if(s[j]〈s[k]) k=j;if(k!=i){t=s[k]; s[k]=s[i];s[i]=t;}}}冒泡排序#include <stdio。
浙江海洋学院 2012- 2013学年第 2 学期 《C 语言程序设计》课程期末考试卷B 卷 (适用班级 )注意:所有答案必须写在后面的答题纸上! 一、单项选择题(每小题3分,共69分) 1、以下叙述不正确的是:(1) A 、一个C 源程序可由-个或多个函数组成 B 、一个C 源程序必须包含-个main 函数 C 、C 程序的基本组成单位是函数 D 、在C 程序中,注释说明只能位于-条语句的后面 2、能正确表示a 和b 同时为正或同时为负的逻辑表达式是: (2) A 、 (a>=0||b>=0)&&(a<0||b<0) B 、(a>=0&&b>=0)&&(a<0&&b<0) C 、 (a+b>0)&&(a+b<=0) D 、 a*b>0 3、以下对一维数组正确初始化的语句是 (3)。
A 、int a[10]=(0,0,0,0,0); B 、int a[10]={}; C 、int a[]={0}; D 、int a[10]={10*1}; 4、若用数组作为函数调用的实参,传递给形参的是(4) 。
A 、数组的首地址 B 、数组的第一个元数 C 、数组中全部元素的值 D 、数组元素的个数 5、设有如下定义的变量 union data{ int i;char ch;float f;}b;学院专业班级姓名学号则变量b占用内存的字节数是(5)。
(假设int类型占2个字节,char类型占1个字节,float类型占4个字节):A、 4B、5C、 6D、76、若有以下宏定义:#define N 2#define Y(n) (N+1)*n则执行语句int z; z=2*N+Y(5);后的值是(6)A、 50B、34C、19D、无定值7、若定义:int (*p)[3]; 则标识符p (7)。
C语言程序设计模拟试卷(09级)1.2.4.5.9.11.12.13.15.19.20.22 24 25 26 28 29 30一、单选题(、共30小题,每小题1分,共30分)1、设a、b和c都是int型变量,且a=3,b=4,c=5,则下面的表达式中,值为0的表达式是( )。
A. a < =bB. !((a〈b)&&!c||1)C. 'a'&&'b'D. a||b+c&&b-c2、设有语句char a='\72';则变量a( )。
A. 包含1个字符B. 包含2个字符C. 包含3个字符D. 说明不合法3、有以下程序:void main( ){ ;;;}程序运行后的结果是( ):A.编译时有警告错误B.编译时有语法错误C.编译没有错误,但是运行时出错D.程序正常运行,但是无任何输出4、x为int型变量,执行以下语句后,x的值为( )。
x=10;x+=x-=x-x;A.10B.20C.30D.405、若有输入语句"scanf("%d,%d,%d" ,&x,&y,&z) ;",欲使x的值为10,y的值为20,z的值为30,则正确的输入应为( ):A. 10 , 20 ,30〈回车〉B. 10 20 30〈回车〉C. 10,20,30〈回车〉D. 10〈回车〉20〈回车〉30〈回车〉6、以下不正确的if语句是( )。
A. if (a<b) t=a ;B. if (a !=b && b) ;C. if (a=b) printf("equal" ) ;D. if (a>b) && (b>c) printf("max=%d",a);7、关于if后面一对圆括号中的表达式,叙述正确的是( )。
单选题部分:1、由C语言目标文件连接而成的可执行文件的缺省扩展名为( exe )。
2、设有两条语句为“int a=12; a+=a * a;",则执行结束后,a的值为( 156 )3、带有随机函数调用的表达式rand()%20的值在(0~19 )区间内。
4、for循环语句“for(i=0; i<n; i+=2) S;”中循环体S语句被执行的次数为( ( n十1)/2)5、在下列的字符数组定义中,存在语法错误的是( chara[10]=’5’)6、若有一个函数原型为“double * function()",则它的返回值类型为(实数指针型 )。
7、在 C 语言中,所有预处理命令都是以( # )符号开头的。
8、假定整数指针 p所指数据单元的值为30,p+1所指数据单元的位为40,则执行*p十十后,p所指数据单元的值为( 40 )。
9、若要使p指向二维整型数组a[10][20],则p的类型为(int(*)[20] )10、表示文件结束符的符号常量为( EOF )11、由C语言源程序文件编译而成的目标文件的缺省扩展名为(obj )12、设x和y均为逻辑值,则x,,y为假的条件是(它们均为假 )13、枚举类型中的每个枚举常量的值都是一个(整数 )14、循环语句"for(i=0;i<=n;i++)S;"中循环体S被执行的次数为( n+1)15、假定有语句为"int a[4] [5]={l,3,5},{2,8}};",则a[1] [1]的值为( 8 )16、在下面的选项中,不能作为函数的返回类型的是( new )17、在下面的选项中,不能作为函数的返回值类型的是( node )18、假定x的值为5,y的值为6,则表达式x++*一一y的值为( 25 )19、用calloc函数创建具有10个整型元素的动态存储空间正确调用是( calloc(10,sizeof(int)))20、假定有定义"intb[l0],*pb;",则不正确的赋值为( pb=b[5])21、标准输入设备的文件流标识符是( stdin)22、C语言源程序文件的缺省扩展名为( C )23、设x和Y均为逻辑值,则x&&y为真的条件是( 它们均为真)。
2009年上学期《C语⾔程序设计》期末试卷(A)参考答案华东师范⼤学期末试卷(A)2008 —2009学年第⼆学期课程名称:C语⾔程序设计学⽣姓名:学号:______________专业:年级/班级 2007级课程性质:专业必修(请将所有答案写在答题纸上)⼀、填空题(每空1分,共10分)1. 设x和y均为int型变量,且x=2,y=3,则表达式1.0+x/y的值为 1.0。
2. 有如下输⼊语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输⼊数据的正确形式应是a=1,b=3,c=2 。
3. 变量y满⾜以下两条件中的任意⼀个:①能被4整除,但不能被100整除;②能被400整除。
请⽤逻辑表达式表⽰所给条件:___(y%4==0&&y%100!=0)||(y%400==0)_ __4. 在内存中存储“A”要占⽤ 2 个字节,存储…A?要占⽤ 1 个字节。
5. C语⾔编译系统在判断⼀个量是否为“真”时,以0代表“假”,以⾮0代表“真”。
6. 结构化程序设计⽅法规定程序或程序段的结构有三种:顺序结构、选择结构和循环结构。
7. 设有“int x=1;”,则“x>0 ? 2*x+1 : 0”表达式的值是___3_______。
8. C语⾔的表达式与语句的区别在于C语⾔的语句是以分号结束的,⽽表达式是没有分号的。
⼆、选择题(每⼩题1分,共20分)1. 以下关于C程序执⾏叙述正确的是( A)A)程序的执⾏总是从main函数开始,在main函数结束B)程序的执⾏总是从程序的第⼀个函数开始,在main函数结束C)程序的执⾏总是从main函数开始,在程序的最后⼀个函数中结束A)计算机不能直接执⾏⽤C语⾔编写的源程序B)C程序经C编译程序编译后,⽣成后缀为.obj的⽂件是⼀个⼆进制⽂件C)后缀为.obj的⽂件,经连接程序⽣成后缀为.exe的⽂件是⼀个⼆进制⽂件D)后缀为.obj和.exe的⼆进制⽂件都可以直接运⾏3. 设有定义:int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是( A )A)k++ B) k+=1 C) ++k D) k+14. 若⽤数组名作为函数调⽤时的实参,则实际上传递给形参的是(A)。
2009年3月二级C语言笔试真题及答案、、((1)—(10)每小题2分,(11)—(50)每题1分,共60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)下列叙述中正确的是先进后出A)栈是“先进先出”的线性表B)队列是“先进先出”的线性表 b lC)循环队列是非线性结构D)有序性表既可以采用顺序存储结构,也可以采用链式存储结构(2)支持子程序调用的数据结构是A)栈 B)树 C)队列 D)二叉树(3)某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是A)10 B)8 C)6 D)4(4)下列排序方法中,最坏情况下比较次数最少的是A)冒泡排序 B)简单选择排序C)直接插入排序 D)堆排序(5)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。
下面属于应用软件的是A)编译软件 B)操作系统C)教务管理系统 D)汇编程序(6)下面叙述中错误的是A)软件测试的目的是发现错误并改正错误B)对被调试的程序进行“错误定位”是程序调试的必要步骤C)程序调试通常也称为DebugD)软件测试应严格执行测试计划,排除测试的随意性(7)耦合性和内聚性是对模块独立性度量的两个标准。
下列叙述中正确的是A)提高耦合性降低内聚性有利于提高模块的独立性B)降低耦合性提高内聚性有利于提高模块的独立性C)耦合性是指一个模块内部各个元素间彼此结合的紧密程度D)内聚性是指模块间互相连接的紧密程度(8)数据库应用系统中的核心问题是A)数据库设计B)数据库系统设计C)数据库维护D)数据库管理员培训(9)有两个关系R,S如下:RS由关系R通过运算得到关系S,则所使用的运算为A)选择 B)投影 C)插入 D)连接(10)将E-R图转换为关系模式时,实体和联系都可以表示为A)属性 B)键 C)关系 D)域(11)以下选项中合法的标识符是A) 1-1 B)1—1 C)-11 D)1—12)若函数中有定义语句:int k;,则A)系统将自动给k赋初值0B)这时k中值无定义C)系统将自动给k赋初值-1D)这时k中无任何值(13)以下选项中,能用作数据常量的是A)o115 B) 0118 C)1.5e1.5 D) 115L(14)设有定义:int x=2;,以下表达式中,值不为6的是A) x*=x+1 B) x++,2*xC)x*=(1+x) D)2*x,x+=2(15)程序段:int x=12;double y=3.141593; printf(“%d%8.6f”,x,y);的输出结果是A)123.141593 B)123.141593C)12,3.141593 D)123.141593(16)若有定义语句:double x,y,*px,*py,执行了px=&x, py=&y;之后,正确的输入语句是A)scanf(“%f%f”,x,y); B) scanf(“%f%f”,&x,&y);C) scanf(“%lf%le”,px,py); D) scanf(“%lf%lf”,x,y);(17)以下是if语句的基本形式:if(表达式)语句其中“表达式”A)必须是逻辑表达式 B)必须是关系表达式C)必须是逻辑表达式或关系表达式 D)可以是任意合法的表达式(18)有以下程序#include <stdio.h>main(){int x;scanf(“%d”,&x);if(x<=3); elseif(x!=10)printf(“%d\n”,x);}程序运行时,输入的值在哪个范围才会有输出结果A)不等于10的整数 B)大于3且不等于10的整数C)大于3或等于10的整数 D)小于3的整数(19)有以下程序#include<stdio.h>Main(){int a=1,b=2,c=3,d=0;if(a= =1 &&b++= =2)if(b!=2 || c--!=3)printf(“%d,%d,%d\n”,a,b,c);else printf(“%d,%d,%d\n”,a,b,c);else printf(“%d,%d,%d\n”,a,b,c);}程序运行后的输出结果是A)1,2,3 B)1,3,2C)1,3,3 D)3,2,1(20)以下程序中的变量已正确定义for(i=0;i<4;i++,i++for(k=1;k<3;k++);printf(*”);程序段的输出结果是A)******** B)****C)** D)*(21)有以下程序#include<stdio.h>main(){char*s=(“ABC);do{printf(“%d”,*s%10);s++;}while(*s);}注意,字母A的ASCII码值为65。
同济大学课程考核试卷(A卷)2009-2010学年第一学期命题教师签名:审核教师签名:课号:课名:C++语言考试考查:考查此卷选为:期中考试()、期终考试(V)、重考()试卷年级 __________ 专业__________________ 学号____________ 姓名______________ 得分 __________一、选择填空(30分)1)按照标识符的要求,下列符号中不属于标识符组成部分的是()。
八、大小写字母B、数字C、下划线D、〜! @#$%"&*2)若有定义:char c; int x; float y;double z;则表达式x+c-(int)z/y值的类型为()。
八、char B、int C、float D、double3)有下列定义:chars[10],*p,sl[] = { "xyz" };以下语句中正确的是()。
八、s = “abcdefgh” ; B、p = “abcdefgh” ;C、s = si;D、p=&s; cin » p;4)以下数组定义中正确的是()。
A、int n=5; int a[n];B、int b[3] [] = {l, 2, 3};C、int c[3][4]:{0};D、int d[][] = {2,4,6,8};5)己知int a⑸,b⑶;当逻辑表达式语句!a&&b++;b| |a—| |a+b;执行完毕后,a和b的值分别为()。
A、4,4B、4,3C、5,4D、5,36)设有定义语句:int x(20), y(10), *p, **pp; 当执行完语句:p=&x;pp=&p;p=&y;后,**PP的值为()。
A、20B、10C、变量x的地址值D、变量y的地址值7)对于int (*p)();的描述,()是正确的。
A、定义一个指向某int型函数的指针变量p。
C语言程序设计期末考试试题及答案C语言程序设计试题(2008 /2009 学年第二学期)一.选择题(满分30分,每题2分)1.若a、b、c都定义为int类型且初值为0,则以下不正确的赋值语句是 D 。
A. a=b=c+8;B. a+=y+3;C. c++;D. a+b+c2. 已知int j,i=1;执行语句“j=i++;”后,变量i的值是 B 。
A. 1B. 2C. –1D. -23.执行下面程序:#include "stdio.h"void main(){int a=1,b=2,c=3;c=(a+=a+2),(a=b,b+3);printf(“%d,%d,%d”,a,b,c);}则输出结果是: A 。
A. 2,2,4B. 4,2,3C. 5,5,3D. 4,2,54.若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为 D 。
A. a< >0B. !aC. a=0D. a5. for (j=0;j<11;j++);循环结束后,j的值是 B 。
A. 12B. 11C. 10D. 96. C语言中函数返回值的类型由 D 决定的。
A. return语句中的表达式类型B. 调用该函数的主调函数的类型C. 调用函数时临时决定D. 定义函数时所指定的函数类型7. 下列说法中正确的是 B 。
A 在调用用户自定义函数时,必须对其进行声明。
B 函数可以返回一个值,也可以什么值也不返回。
C 说明函数时,必须明确参数的类型和返回值。
D 在程序设计中空函数没有什么作用。
8. 若int i=10;执行下列程序后,变量i的正确结果是 D 。
switch ( i ){case 0: i+=1;case 10: i+=1;case 11: i+=1;default: i+=1;}A. 10B. 11C. 12D. 139. 下列语句中不正确的字符串赋值或初始化的是 C 。
2009年3月国家二级(C语言)笔试真题试卷(题后含答案及解析) 题型有:1. 选择题 2. 填空题选择题(1-10、21-40每题2分,11-20每题1分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。
1.下列叙述中正确的是______。
A.栈是“先进先出”的线性表B.队列是“先进后出”的线性表C.循环队列是非线性结构D.有序线性表既可以采用顺序存储结构,也可以采用链式存储结构正确答案:D解析:栈是—种特殊的线性表,这种线性表只能在固定的—端进行插入和删除操作,允许插入和删除的—端称为栈顶,另—端称为栈底。
—个新元素只能从栈顶一端进入,删除时,只能删除栈项的元素,即刚刚被插入的元素。
所以栈又称“后进先出”表,所以选项A是错误的。
队列可看作是插入在—端进行,删除在另—端进行的线性表,允许插入的—端称为队尾,允许删除的—端称为队头。
在队列中,只能删除队头元素,队列的最后—个元素—定是最新入队的元素。
因此队列又称“先进先出”表,所以选项B是错误的,循环队队列是将队列存储空间的最后—个位置绕到第—个位置,形成逻辑上的环状空间,供队列循环使用。
它的逻辑结构仍然是线性结构,所以选项C是错误的。
有序线性表既可以采用顺序存储结构,也可以采用链式存储结构,所以选项D是正确的。
2.支持子程序调用的数据结构是______。
A.栈B.树C.队列D.二叉树正确答案:B解析:子程序调用是—种层次关系,子程序调用功能模块,且调用功能模块的个数也不确定,可以是—个,也可以是多个。
选项A、C中元素之间是—种前后件关系,前后元素之间没有层次之分,每个结点有—个前件也只有—w个后件。
二叉树是一种很有用的非线性结构,它不同于树形结构,具有以下两个特点:1)非空二叉树只有一个根结点;2)每一个结点最多有两棵子树,且分别称为该点的左子树与右子树。
所以选项D规定每个结点只能有两个后件。
(完整版)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语言程序,实现以下功能:输入一个字符串,判断它是否是回文(正读和反读都一样的字符串)。
2009年春浙江省高等学校计算机等级考试试卷(二级C)试题1 (每小题3分,共12分)阅读下列程序说明和程序,在每小题提供的若干可选答案中,正确答案。
挑选一个【程序说明】输入一个正整数n,计算下列式的前n项之和。
彳1丄1 1亠1S = 13 5 7 9运行示例:En ter n:2Sum=0.67【程序】#in elude <stdio.H>main (){ in t de no miator,flag,i ,n;double item,sum;printf("Enter n:");sca nf("%d",&n);deno miator=1;(1) ;sum=0;for(i=1; (2) ;i++){(3);sum=sum+item;(4);deno miator=de nomiator+2;}prin tf("Sum=%.2f\n",sum);}【供选择的答案】(1) A . flag=0C. flag=n(2) A . i>=nC. i>n B. flag=-1;D. flag=1B . i< nD . i<=nII答案B〃答案D(8#in clude <stdio.H>#in clude <math.h> int prime(i nt m) { int i,n;if(m==1)return 0; n=sqrt(m);for(i=2;i<=n ;i++) if(m%i==O)return 0;(5)}mai n(){ in t coun t,i, nu mber; coun t=0;for(nu mber=6 ;nu mber<=20 ;nu mber =nu mber+2) {for(i=3;i<=nu mber/2;i=i+2) if( _____ (6 _____ ){pri ntf("%d=%d+%d ",n umber,i, number-i); coun t++; if( (7))printf("\n");}【供选择的答案】(3) A . item=flag/ denomiator C . item=flag*1.0/ denomiator (4) A . flag==-1 C . flag=-flag 试题2 (每小题3分,共12分) 阅读下列程序说明和程序, 正确答案。
天津工业大学200 9 ~201 0 学年第 1 学期高级语言程序设计(C语言)试卷(A)学院班级学号姓名注意事项:1、本试卷共11 页,满分为100 分,考试时间为110 分钟。
2、标准答题卡使用2B铅笔涂写;文字题答题时请使用蓝、黑钢笔或圆珠笔,不得使用红颜色墨水笔。
一、单项选择题:(每题 1 分,共40 分)(说明:请将正确答案按照题干上【】内的序号涂写“标准答题卡”)1.以下标识符中,不能够作为变量名使用的是【1】。
A) float B) _123C) Sum D) X_Y12.一个C语言程序的执行是【2】。
A) 从第一个函数开始,到最后一个函数结束B) 从main()函数开始,到最后一个函数结束C) 从main()函数开始,到main()函数结束D) 从第一语句开始,到最后一个语句结束3.表达式sizeof(float)的值是【3】。
A) 1 B) 2 C) 4 D) 84.在C语言中,数值常量0x9f对应十进制值是【4】。
A) 160 B) 87C) 9f D) 1595.在C语言中,运算对象必须是整型数据的运算符是【5】。
A) / B) % C) && D) <=6.数学表达式x≥y≥z,改写为C语言表达式后,正确的写法是【6】。
A) x>=y>=z B) (x>=y) && (y>=z)C) (x>=y) & (y>=z) D) (x>=y) AND (y>=z)7.已知int x=6; 执行语句x+=x-=x*x; 后,变量x的值是【7】。
A) -60 B) -24 C) 36 D) 608.若int x=4,y=2;则表达式x<y?x++:y++的值是【8】。
A) 2 B) 3 C) 4 D) 59.若有定义语句char ch='\072'; 则变量ch 【9】。
浙江海洋学院 2010- 2011学年第 2 学期 《 C 语言程序设计》课程期末考试A 卷 (适用班级A10机械(1,2),A10建环(1,2),A10航海 (1, 2),A10电信(1, 2),A10轮机(1, 2),A10海渔, A10环科,A10养殖,A10资环,A10船舶(1, 2),A10电气(1, 2),A10土木(1, 2),B10数学,B10物理, A10化工(1, 2),A10食安,A10食工,A10药学,A10储运(1, 2),A10生技,A10生科,A10海科(1, 2),A10护理1,A10护理2)试题1(每小题3分,共12分) 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。
【程序说明】 输入一个正整数,各位数码顺序颠倒输出。
运行示例: Enter an integer: 345 The digits are: 543 【程序】 #include <stdio.h> void main( ) { int digit, number; printf("Enter an integer:"); scanf("%d", &number); do { digit= (1) ; printf(" %d" , (2) ); (3) ; }while( (4) ); 【供选择的答案】 (1) A 、number/10 B 、number%10 C 、number/100 D 、number%100 (2) A 、number B 、number/10 C 、digitD 、number/100 (3) A 、number%=10B 、number/=10 C 、 number=number/digit D 、number=number%digit (4) A 、number==0 B 、number != 0学院专业班级姓名学号C、digit==0D、digit!=0试题2(每小题3分,共12分)阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。
【程序说明】从键盘输入n,编写计算n!的递归程序。
n×f(n-1) n>1f(n)=1 n=1或n=0【程序】#include <stdio.h>(5) ;int main(){int n;printf("\nplease enter n:");scanf("%d",&n);printf("\n n!=%ld", (6) );return 0;}long fact(int n){if (n==1||n==0)return( (7) );elsereturn( (8) );}【供选择的答案】(5)A、long fact(n)B、long fact(int n)C、int fact(int n)D、fact(int n)(6)A、fact(int n)B、long fact(n)C、fact(n) D、fact( )(7)A、n B、1 C、0 D、n==0(8)A、fact(n-1) B、n*(n-1)C、n*fact(n-1)D、(n-1)*fact(n-2)试题3(每小题3分,共9分)阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。
【程序说明】打印6行如下形式的扬辉三角形。
11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1【程序】# define N 7# include <stdio.h>int main(){int i, j, a[N][N];for (i=1; i<N; i++) {(9) a[i][1]=1;}for (i=3; i<N; i++)for (j=2; j<=i-1; j++)a[i][j]= (10) + (11) ;for (i=1; i<N; i++) {for (j=1; j<=i ; j++)printf(“%5d”, a[i][j]);printf(“\n”);}return 0;}(9) A、a[i][i]=1;B、a[i][i]=0;C、a[i][i]=i;;D、;(10) A、a[i][j] B、a[i][j-1]C、a[i-1][j]D、a[i-1][j-1](11) A、a[i][j] B、a[i][j-1]C、a[i-1][j]D、a[i-1][j-1]试题4(每小题3分,共12分)阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。
【程序】#include <stdio.h>int main(){int i,j;for (i=4;i>=1;i--){printf("*");for (j=1;j<=4;j++)printf("*");printf("\n");}return 0;}(12) 程序运行后第一行输出:A、*B、**C、 ***D、 *****(13) 程序运行后第二行输出:A、*****B、 ****C、***D、**(14)程序运行后第三行输出:A、 **B、***C、*****D、*(15)程序运行后第四行输出:A、 *B、**C、*****D、****试题5(每小题3分,共12分)阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。
【程序说明】将指定的一个字符从字符串中删除。
【程序】# include <stdio.h># include < (16) >int main(){int i, j;(17) ;char ch, s1[30], s2[30] ;printf("Please input a string:");gets(s1);printf("Please input a char:");scanf("%c",&ch);for (i=0;s1[i]!='\0';i++)if (s1[i]!=ch)(18) ;(19) ;strcpy(s1,s2);puts(s1);return 0;}(16)A、ctype.h B、math.h C、stdlib.h D、string.h(17)A、j=-1 B、j=0 C、j=1 D、;(18)A、*s1++ = *s2++ B、s2[j++] = s1[i]C、*s2++ = *s1++D、s2[++j] = s1[i](19)A、*++s1 = '\0'; B、*++s2 = '\0';C、s2[j] = '\0';D、s2[j+1] = '\0';试题6(每小题3分,共6分)阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。
【程序说明】用函数实现两个数的交换。
【程序】#include <stdio.h>void swap(int *p1,int *p2);int main(){int a=3,b=5;int *pa,*pb;printf("Before swap:");printf("a=%d,b=%d\n",a,b);pa=&a;pb=&b;swap( (20) );printf("After swap:");printf("a=%d,b=%d\n",a,b);getch();}void swap(int *p1,int *p2) /*函数定义*/{int temp;temp=*p1;(21) ;*p2=temp;}【供选择的答案】(20)A、pa,pb B、*pa,*pbC、a,bD、&pa,&pb(21)A、a=bB、p1=p2 C、*p1=*p2D、*p2=*p1试题7(每小题3分,共6分)阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。
#include <stdio.h>#define S(a,b) a*bint main(){int x,y;scanf("%d%d",&x,&y);printf("%d\n",S(x,y+5));printf("%d\n",5/S(x,y));return 0;}程序运行时,从键盘输入3 5,则(22)第一个printf语句输出________A、30B、25C、20D、15(23) 第二个printf语句输出________A、0B、8.67C、8D、5试题8编程题(第1小题9分,第2小题10分、第3小题12分,共31分)1、键盘输入40个数,求其中的正整数之和。
2、编程从键盘输入的12个数,求出其中最大的数并在屏幕上输出。
3、编写一个判定一个整数是否为素数的函数int prime(int n),如果n是素数,则返回1,否则返回0;然后在main中调用该函数输出500以内的全部素数。