《C程序设计语言》样卷
c语言程序设计试卷

c语言程序设计试卷C语言程序设计试卷一、单项选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. returnD. function2. 在C语言中,以下哪个是正确的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. {"Hello, World!"}D. ("Hello, World!")3. 下列哪个是C语言中的合法变量名?A. 2variableB. variable-nameC. variable#nameD. variable_name4. 在C语言中,哪个运算符用于计算两个整数的乘积?A. *B.C. /D. %5. 下列哪个语句可以正确地交换两个变量的值?A. a = b;B. a = a + b;C. a = a + b - a;D. a = b; b = a;6. 在C语言中,以下哪个是正确的数组声明语句?A. int array[10];B. int [10] array;C. int 10 array[];D. int array[10] = {0};7. 下列哪个是C语言中正确的条件语句?A. if (x > y)B. if x > yC. if (x > y) thenD. if (x > y) { /* code */ }8. 在C语言中,哪个函数用于将整数转换为字符串?A. intToStringB. itoaC. toStringD. convertToInt9. 下列哪个是C语言中正确的循环结构?A. do-whileB. while-doC. do-doD. while-while10. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. typeC. classD. union二、填空题(每空2分,共20分)11. C语言中,一个基本的数据类型是____,用来存储字符。
C语言程序设计历年统考试题集10套含答案

C语言程序设计试题集(第1套)请将第一、二、三、四题的答案写在答题页的相应题目的后面(写在别处不得分)。
一、单项选择题(每题2分,共20分)1、以下叙述不正确的是A)C程序由函数构成B) 一个C程序至少包含一个main函数C) main函数可以调用main函数D) main函数是每个程序执行的起始点2、C程序中能直接让机器执行的文件是A)编辑后的.c源文件 B)通过编译的.obj文件C)通过连接的.exe文件 D)编辑后的.bak文件3、假设定义变量如下:int x;float y;以下输入语句中哪个是正确的?A)scanf(“%f%d”,&y,&x); B)scanf(“%f%d”, y, x); C)scanf(“%f%f”,&y,&x); D)scanf(“%d%d”,&y,&x);4、已知:int a[][3]={1,2,3,4,5,6};则数组a的第一维的大小是A)2 B)3 C)4 D)无确定值5、.如果switch表达式是char 变量code,下面哪一个case子句是合法的。
A)case “3”:B) case ‘3’: C)case 3 : D)case =3:6、能正确表示”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)7、C语言中while和do-while 循环的主要区别是A)do-while循环至少无条件执行一次,而while循环可能一次也不执行B)while循环控制条件比do-while循环控制条件严格C)do-while循环允许从外部转到循环体内,而while循环不允许D)do-while的循环体可以是复合语句,而while循环不可以是复合语句 8、下面哪一项函数的头部是有效的?A)one(int a int b)B)int thisone(char x)C)char another(int a,b)D)double yetanother9、若有定义char x[ ]= "12345"; char y[ ]={ '1', '2', '3', '4', '5'};则A)x数组与y数组的长度相同B)x数组长度大于y的长度C)x 数组长度小于y数组长度 D)x数组等价于y 数组10、二维数组的第一个元素的行下标和列下标是A) 1,1 B)0,1 C)1,0 D) 0,0二、填空题(每空3分,共30分)1、如果a=4, b=3,那么,在执行语句a=b;之后,a、b的值分别是(1)2、语句:if(6>5)printf(“#”);printf(“$”);输出(2)3、for( sum=j=0; j<=10; ++j) sum += j; 循环结束后sum的值等于(3)4、长度为10的int类型数组和长度为3 的double类型数组,哪一个数组占用的内存空间多(4)5、字符数组a)char a[]=“one”;占多少内存字节(5)6、如果ch<‘A’或ch>‘Z’,那么,表达式ch>=‘A’&& ch<=‘Z’的值是(6)7、编写C语句,交换a、b的值(7)8、为了使用库函数getchar(),必须在程序中包含命令(8)9、设int numbers[5]={17,25,30,56,58};编写C的for语句,将数组numbers中的每个元素减去3。
《C语言程序设计》试题3及答案

三一.单项选择题?1.设int x=1,y=1;表达式(!x++ || y--)的值是_________??? A.0???? B. 1?????? C. 2???? D.-12.main( )? {? int n;???? ( n=6*4,n+6),n*2;???? printf(“n=%d\n”,n);? }?? 此程序的输出结果是______________.?? A.30??? B.? 24???? C.? 60????? D.? 483.若有如下定义,则__________是对数组元素的正确的引用。
?? int? a[10] , *p ;?? p=a ;?? p=a ;?? p=a ;?? p=a ;?? A.? *&a[10]???? B.? a[11]????? C.? *(p+10)????? D. *p4.设整型变量n的值为2,执行语句“n+=n-=n*n;”后,n的值是__________ ?? A.? 0???? B.? 4??? C.? - 4???? D.? 2???? 5.以下不能正确定义二维数组的语句是___________??? A . int a[2][2]={{1},{2}};???? B. int a[][2]={1,2,3,4};?? ?C. int a[2][2]={{1},2,3};????? D. int a[2][]={{1,2},{3,4}}; 6.程序段??? ??????的功能是将变量 u 、s中的最大值赋给变量t 。
??????? A.? if(u>s) t=u;t=s;?????? B. ?t=u;?? if(t ) ?t=s;???? ?C.? if(u>s) t=s;else t=u;? ??D . ?t=s; if(u ) ?t=u;7.下列程序段的输出结果是???? ??????。
void main(){?? int k;for (k=1;k<5;k++〉{ ?if(k%2!=0)??printf("#");else ??printf(“*”) ;? } }A. #*#*????? B . *#*#??? C.? ##?????? D. 以上都不对8.设变量定义为 int a[3]={1,4,7},*p=&a[2], 则*p的值是? (35)??? 。
《C语言程序设计》试题七及答案

《C语言程序设计》试题七 (1)一、填空题 (1)二、选择题 (2)三、判断题 (3)四、程序填空题 (4)五、阅读程序,写出下列程序段的结果 (5)六、编程题 (6)《C语言程序设计》试题七答案 (7)《C语言程序设计》试题七一、填空题1.在C语言程序设计中,正确的标识符是由____________________组成的。
2.设x=4,y=(++x)+(++x);那么y的值为_____,表达式执行后,变量x的值为_______。
3.一个变量的指针是指_____________________________________________。
4.能够构成一个数组,其元素满足的特点是__________________________________;那么,构成结构体的成员可以是_________________________________________。
5.下面运算符< % ++ = 按照优先级从高到低排列顺序为______________。
6.C程序设计中语句后的符号/*……*/ 所起作用是_________________________。
7.写出下面表达式的值3*5/7+7%3____________________ x=2 ; y=4; (x++)+y _____________________ 3+4>=7-10_____________________ 3>4 ? 3%2: 1 ___________________x=2,y=2;++x||++y_______________ x=3 ; x+=x-=2 _____________________二、选择题⑴.在使用TurboC2.0环境编辑程序时,运行某程序使用的菜单项为()A.FILE B.RUN C.EDIT D.OPTION⑵.下列语句不具有赋值功能的是()A.a*=b B.x=1 C.a+b D.a++⑶.C语言程序中,当出现条件分支语句if~else时, else与()组成配对关系A.同一复合语句内部的if B.在其之前任意的ifC.在其之前未配对的最近的if D.首行位置相同的if⑷.下列数组定义方式不正确的语句是()A.char x[5]; B.char y[]={‘h’, ‘e’, ‘l’, ‘l’, ‘o’};C. int x[10]={12,13,14,15}; D.int y[];⑸. 若有如下定义和语句,且0<=i<5,下面()是对数值为3数组元素的引用int a[]={1,2,3,4,5},*p,i;p=a;A. *(a+2) B.a[p-3] C.p+2D.a+3⑹. 下列()表达式的值为真a=5; b=8; c=10; d=0A.a*2>8+2 B.a&&d C. (a*2-c)||d D.a-b<c*d⑺. 下列字符数组长度为5的是() A. char a[]={‘h’, ‘a’, ‘b’, ‘c’, ‘d’};B. char b[]= {‘h’, ‘a’, ‘b’, ‘c’, ‘d’, ‘\0’};C. char c[10]= {‘h’, ‘a’, ‘b’, ‘c’, ‘d’};D. char d[6]= {‘h’, ‘a’, ‘b’, ‘c’, ‘\0’ }⑻. 执行下列程序后,其结果为()int a[]={2,4,6,8,10,12}; *p;p=a;*(p+4) =2;printf(“%d,%d\n”,*p,*(p+4));A.0,10 B.0,2 C.2,10 D.2,2⑼.有下列结构体,对该结构体变量stu的成员项引用不正确的是()struct student{ int m;float n;} stu ,*p;A. stu.n B.p->m C.(*p).m D.p.stu.n ⑽.下列函数中不能用于对文件进行输入输出操作的是()A.fscanf( ) B.printf( ) C.fgetc( ) D. fputs( )三、判断题1.C语言程序设计可以对计算机硬件进行操作。
《C语言程序设计》考试及答案

{
int *p, a = 10;
p = &a;
printf("%d,%d\n",a,*p);
return 0;
}
[单选题]*
D、10,10(正确答案)
C、10,*p
B、a,*p
A、-859668,163828
6、当定义一个结构体变量时,系统为它分配的内存空间是()。[单选题]*
A、一个函数
B、一个数组
C、一个结构体(正确答案)
D、一个文件名
12、int *p,q;的含义是()。[单选题]*
A、q是一个指针变量
B、p是一个整型变量
C、p是一个指针变量,用来存放一个整型变量在内存中的地址(正确答案)
D、以上都不对
13、若有定义:int x,*pp;则正确的赋值表达式是()。[单选题]*
A、(a<=0)&&(a>=10)
B、(a<=0)||(a>=10)(正确答案)
C、(a<=0)OR(a>=10)
D、(a<=0)|(a>=10)
26、如果a=4 , b=3 ,c=2 ,d=1 ,则条表达式
a<b ? a : c<d ? c : d的值为( )。
[单选题]*
A、1(正确答案)
B、2
A、1(正确答案)
B、2
C、3
D、4
3、变量的指针,其含义是指该变量的()。[单选题]*
A、值
B、地址(正确答案)
C、名
D、一个标志
4、若执行fopen函数时发生错误,则函数的返回值是()。[单选题]*
A、地址值
B、NULL(正确答案)
大学《C语言程序设计》期末考试试卷及参考答案

大学《C语言程序设计》期末考试试卷及参考答案《C语言程序设计》期末考试试卷参考答案一、判断题(10分)1、对2、对3、错4、错5、对6、错7、错8、错9、错10、错二、填空题(30分,,1到10题1分1空,10到18题2分1空)1.2.5 2. a!=0&&b!=0 3. m=1b 4. windows 95 5. x[i]>='A'&&x[i]<='Z' 6.234567 7.文件的首纪录前8、struct tree *Ltree,*Rtree 9. i<=10010. char a[10]="continue"; 11. p*pow(1+r,5) 12. 'D' 13. 10、514.#define utol(ch) ch=ch>='A'&& ch<='Z' ? ch+'a'-'A':ch15.首行第i+1个元素的地址,第i+1行的首地址,a[0][0]的值16.p=(int*)mallo(n);17. (-b+sqrt(b*b-4*a*c))/2/a 18. float(*fg)(float **,int,int);三、单项选择题(在每小题的四个备选答案中选出一个正确的,10分))1、A2、B3、C4、B5、D6、A7、A8、B9、C 10、A四、程序阅读题(20分,每题4分)1、 A C E G2、 x=3 y=23、the two string are same:fthe two string are same:r4、 K=85、1《C语言程序设计》期末考试试卷及参考答案一、判断题(10分)1、C语言是一种结构化程序设计语言。
()2、在标准C中,整型变量与字符变量是可以通用的。
()3、在标准C中,“=”是判断两个数是否相等。
《c语言程序设计》试题库及答案

《c语言程序设计》试题库及答案一、选择题1. 下列哪个选项是C语言的标准库函数?A. printfB. scanfC. mainD. All of the above答案:D2. C语言中,用于定义字符串的字符数组的语法是什么?A. char str[] = "Hello";B. char str[] = {"Hello"};C. char str = "Hello";D. char str[] = 'Hello';答案:A3. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. functionC. defD. void答案:A二、填空题1. 在C语言中,定义一个整型变量的正确方式是:________。
答案:int variable_name;2. C语言中,用于计算两个数的和的运算符是:______。
答案:+3. 如果要在C语言中声明一个指向整型的指针,应该使用:________。
答案:int *pointer_name;三、简答题1. 请简述C语言中数组和指针的区别。
答案:数组是一组相同类型的元素的集合,可以通过索引访问每个元素。
指针是一个变量,它存储了另一个变量的内存地址。
数组名可以被用作指向数组首元素的指针,但数组本身是一个固定大小的实体,而指针可以被重新赋值为其他地址。
2. 解释C语言中的结构体(struct)是什么?答案:结构体是一种用户定义的数据类型,它允许将不同的数据类型组合成一个单一的数据结构。
它使得可以创建包含多种数据类型的复杂数据结构。
四、编程题1. 编写一个C语言程序,实现计算两个整数的和,并输出结果。
```c#include <stdio.h>int main() {int num1, num2, sum;printf("Enter two integers: ");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("The sum is: %d\n", sum);return 0;}```2. 编写一个C语言程序,实现将一个字符串反转,并输出结果。
《C语言程序设计》期中考试试卷

淮海工学院10 – 11 学年第 2 学期 C语言程序设计期中考试试卷单项选择题答题表题答题表中)1.以下叙述中正确的是()。
A) C 程序的基本组成单位是语句B) C 程序中的每一行只能写一条语句C)简单C 语句必须以分号结束D) C 语句必须在一行内写完在2.一个C程序是由____________。
A)一个主程序和若干个子程序构成B)一个或多个函数构成C)若干过程组成D)若干子程序组成3.以下选项中正确的定义语句是____________。
A)double a; b;B)double a=b=7;C)double a=7, b=7;D)double, a, b;4.计算机能直接执行的程序是()。
A)C源程序B)目标程序C)汇编程序D)可执行程序5.下列符号可以作为变量名的是____________。
A)+aB)*pC)_DAYD)next day6.设c是字符变量,则以下表达式正确的是____________。
A)c=666B)c='c'C)c="c"D)c="abcd"7.以下说法正确的是____________。
A)输入项可以为一个实型常量,如scanf("%f", 3.5)B)只有格式控制没有输入项也能进行正确输入,如scanf("%d")C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(%4.2f", &f)D)当输入数据时,必须指定变量的地址,如scanf("%f", &f)8.若a, b, c均定义为整型,要给它们输入数据,正确的输入语句是____________。
A)read(a, b, c);B)scanf("%d%d%d", a, b, c);C)scanf("%D%D%D", a, b, c);D)scanf(%d%d%d", &a, &b, &c);9.若有if (w) –x; else ++y; 则其中与w 等价的表达式是____________。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
韩山师范学院2011年专升本插班生考试样卷计算机科学与技术专业高级语言程序设计试卷(A卷)一、填空题(每空1分,共10分)1.C程序的基本单位是________。
2.C语言源程序文件的后缀是________。
3.C语言中的标识符由________、________和字母组成。
4.设y为float型变量,执行表达式y=6/5之后,y的值是________。
5.在C语言中,要求运算量必须是整型的运算符是___________。
6.如果函数值的类型与返回值的类型不一致时,应该以___________为准。
7.已知int a=8,*p=&a;,则*p的值是___________。
8.把一些不同类型的数据作为一个整体来处理时,常用___________。
9.若x=2,y=3,则x|y<<2的结果是___________。
二、单项选择题(每小题1.5分,共30分)A.顺序结构、选择结构、循环结构B.递归结构、循环结构、转移结构C.嵌套结构、递归结构、顺序结构D.循环结构、转移结构、顺序结构2.在一个C语言的源程序中,以下叙述正确的是()。
A.必须有除主函数外其他函数B.可以有多个主函数C.必须有一个主函数D.可以没有主函数3.以下叙述正确的选项是()。
A.C语言的源程序不必通过编译就可直接执行B.C语言中的每条语句最终都将被转换成二进制的机器指令C.C语言程序经编译形成的二进制代码可以直接执行D.C语言中的函数不可以单独进行编译4.算法是指为解决某个特定问题而采取的正确且有限的步骤,下面不属于算法的5个特性的是( )。
A.有零个输入或多个输入B.高效性C.有穷性D.确定性5.以下能正确定义且赋初值的语句是( )。
A.int n1=n2=10; B.char c=32; C.float f=f+1.1; D.double x=12.3E2.5 6.有以下程序:main(){ char a='a',b;printf("%c",++a);printf("%c\n",b=a++);}程序运行后的输出结果是( )。
A.bb B.bc C.ab D.ac7.以下程序段的输出结果是( )。
int a=1234;printf("%2d ",a);A.12 B.34 C.1234 D.提示出错8.有以下程序:#include <stdio.h> main(){ char b1,b2,b3,b4,b5,b6;scanf("%c%c%c%c",&b1,&b2,&b3,&b4); b5=getchar(); b6=getchar(); putchar(b1); putchar(b2);printf("%c%c \n",b5,b6); }程序运行后从键盘输入(从第1列开始) 678<回车> 12345<回车>则输出结果是( )。
A .6781B .6723C .1267D .67129.若a,b,c,d 是int 型变量,则为了使以下语句的输出为:1234+123+12+1,正确的输入是( )。
scanf("%4d+%3d+%2d+%1d",&a,&b,&c,&d); printf("%4d+%3d+%2d+%1d",a,b,c,d); A.1234123121<回车> B.1234123412341234<回车> C.1234+1234+1234+1234<回车> D.1234+123+12+1<回车> 10.有以下计算公式:若程序前面已经包含math.h 文件,不能够正确计算上述公式的程序是( )。
A .if (x>=0) y=sqrt(x); B .y=sqrt(x);else y=sqrt(-x); if(x<0) y=sqrt(-x);y=xx-0<x x ≥0C.if (x>=0) y=sqrt(x); D.y=sqrt(x>=0?x:-x);if(x<0) y=sqrt(-x);11.以下程序输出结果是:()。
main(){ int i=0;switch(i){case 0:printf("%d",i++);case 2:printf("%d",i++);default:printf("%d",i++);}}A.0 B.1 C.012 D.12312.思考以下for循环的执行次数是( )。
for(x=0,y=0;(y=123) && (x<3);x++);A.是无限循环B.循环次数不定C.执行4次D.执行3次13.在C语言中,引用数组元素时,其数组下标的数据类型允许是( )。
A.整型常量B.整型表达式C.整型常量或整型表达式D.任何类型的表达式14.对于所定义的二维数组a[2][3],元素a[1][2]是数组的第( )个元素。
A.3 B.4 C.5 D.615.如果在一个函数的复合语句中定义了一个变量,则该变量( )。
A.在该函数中有效B.只在该复合语句中有效C.在本程序范围内有效D.为非法变量16.在以下关于带参数宏定义的描述中,正确的是( )。
A.宏名和它的参数都无类型B.宏名有类型,它的参数无类型C.宏名无类型,它的参数有类型D.宏名和它的参数都有类型17.以下程序的输出结果是:( )。
main(){ int a=5,b=6,*p,*q,*r;p=&a;q=&b;r=p;p=q;q=r;printf("%d,%d,%d,%d",*p,*q,a,b);}A.6,5,6,5 B.5,6,5,6 C.6,5,5,6 D.5,6,6,5 18.共用体变量在任何给定时刻,( )。
A.所有成员一直驻留在结构中B.只有一个成员驻留在结构中C.部分成员驻留在结构中D.没有成员驻留在结构中19.以下叙述不正确的是( )。
A.表达式a&=b等价于a=a&b B.表达式a|=b等价于a=a|bC.表达式a!=b等价于a=a!b D.表达式a^=b等价于a=a^b20.根据下面的定义,能打印出字母M的语句是( )。
struct person{char name[9]; int age;};struct person stu [10]={"Jim",18,"Tom",19,"Mary",18,"Adam",19};A.printf("%c", stu [3].name[0]);B.printf("%c", stu [3].name[1]);C.printf("%c", stu [2].name[1]);D.printf("%c", stu [2].name[0]);三、阅读程序,将运行结果写到各题右侧的空白处(每小题4分,共20分)1.#include "stdio.h"main( ){ int i=0,a=0;while(a<20){ for(;;){ if(i%10==0) break;else i--;}i=11;a+=i; printf("%d ",a);}}2.#include "stdio.h"main(){ int a[5]={1,1};int i,j;printf("%d%d\n",a[0],a[1]);for(i=1;i<4;i++){ a[i]=a[i-1]+a[i];a[i+1]=1;for(j=0;j<=i+1;j++)printf("%d",a[j]);printf("\n");}}3. #include "stdio.h"void wr(char *st,int i){ st[i]='\0';puts(st);if(i>1) wr(st,i-1);}main(){ char st[]="abcdefg";wr(st,5);}4.#define f(x) x*xmain(){ int i;i=f(4+4)/f(2+2);printf("%d",i);}5. #include "stdio.h"main(){ char s[ ]="Yes\nNo",*ps=s;puts(ps+4);*(ps+4)=0;puts(s);}四、阅读程序或程序段,填空(每小题4分,共20分)1.以下程序是求矩阵a,b的乘积,结果存入矩阵c中,请填空。
main( ){ int a[3][2]={3,2,-1,-4,5,6};int b[2][2]={7,6,-5,3};int i,j,k,s,c[3][2];for(i=0;i<3;i++)for(j=0;j<2;j++){for( ;k<2;k++)s+= ;c[i][j]=s;}}2.下面程序采用函数递归调用的方法计算sum=1+2+3+4+...+n,请填空。
#include "stdio.h"main(){ int sum(int);int i;scanf("%d",&i);printf("sum=%d", );}int sum(int n){ if(n<=1) return n;else return ;}3.下面的函数Strcat(char *str1,char *str2)实现将字符串str2拼接到字符串str1后面的功能,请填空。
char *Strcat(char *str1,char *str2){ char *t=str1;while( )str1++;while( );return(t);}4.下面的程序实现从10个整数中找出最大值和最小值。
#include "stdio.h"int max,min;void find(int *p,int n){ int *q;max=min=*p;for(q=p; ;q++) if(*q>max) max=*q;else if( ) min=*q; }main(){ int i,num[10];printf("Input 10 number:\n"); for(i=0;i<10;i++)scanf("%d",&num[i]); find(num,10);printf("max=%d,min=%d",max,min); }5.以下程序将从终端上读入的5个整数以二进制方式写入文件“a.txt”中,请填空。