2011年中南大学C语言期末试题卷A

合集下载

中南大学考试试题(C语言)10级程序设计试题(修改)

中南大学考试试题(C语言)10级程序设计试题(修改)

中南大学考试试卷2010 -- 2011学年2 学期期末考试试题A卷时间110分钟C语言程序设计基础课程48学时3学分考试形式:闭卷专业年级:2010级总分100分,占总评成绩70 % 注:此页不作答题纸,请将答案写在答题纸上一填空题(每空2分,共30分)1.若int x = 2,y = 7,z = 6;则表达式:x= = ( y = z );执行完后,x的值是;y的值是。

2.若int a,b = 9,d = 8;表达式:a =(――b= = d+ +)? d++ : ――b;则a的结果是;表达式执行完后d的值为。

3.已有宏定义#define P(x) x*x-2设int x = 1,y = 3;且a = P(2+x);b = P(y);则a的值为;b的值为。

4.若int x = 4,y = 6,z = 0;有循环while(x = y) {z ++;y--;}则循环语句执行完后,z值为。

5.若有定义:char str1[ ]={…C‟, …h‟, …i‟, …n‟, …a‟};char str2[ ]=“China”;则数组str1的长度为;数组str2的长度为。

6.已知有定义:int a = 1,b = 2,c = 3,d = 4,m = 1,n =1,k;则语句:k = (m = a > b) && (n = c > d);运行完毕后,m的值为;n的值为;k的值为。

7.已有定义:char *p[]={“Chinese”,“France”,“America”,“Russia”};则语句printf(“%s”, p[1]);printf(“%c”, p[1][2]);printf(“%c”, *(p[3]+1));的输出结果分别为:、、。

二判断题(每小题1分,共10分)1、标准C中,并不区分英文字符的大小写。

2、标准C中,变量可以先使用再定义。

3、若定义函数时,其返回类型为void,则调用函数时,不能将其作为一个值赋给某个变量。

(word版)C语言程序设计期末考试卷及答案.doc,文档

(word版)C语言程序设计期末考试卷及答案.doc,文档

(word 版)C 语言程序设计期末考试卷及答案.doc,文档1 / 91装 装 .--C 语言程序设计期末考试卷及答案- -- -- -- - --- -- - - - - - --- - 得分 阅卷人 复核人 --- -- -- - - - - -- ---- -A 、B 、C 、D 四个选项中,选择一个最正确答案填入括号内 (每题 1分,共计 30分)。

- -一、单项选择题。

从- -- -- -- -〕。

- -1.一个C 语言程序的执行是从〔- -2 1 - -- 号 - A 〕本程序文件的第一个函数开始,到本程序文件的最后一个函数结束-- - - -- 学 -- - -- - - B 〕本程序的main 函数开始,到main 函数结束- - -- - -- - -- - -- - - C 〕本程序的main 函数开始,到本程序文件的最后一个函数结束- - -- - -- - - - -- D 〕本程序文件的第一个函数开始,到本程序的main 函数结束- --- - -- - -- - -C 语言关键字的是〔 〕。

- - -2.以下选项中不属于- - - ...- --- ---- -- A 〕switch B 〕printf C〕default D 〕case- --- - -- -3.设有语句inta=4; ,那么执行了语句a+=a-=a*a; 后,变量a 的值是〔 〕。

-- --名A 〕24B 〕-24C 〕4D 〕16-- -姓第 第 --- 4.inti;floatd; ,那么正确的表达式是〔 〕。

--- --A 〕(intd)B 〕int(d)%i C 〕(int)d%iD 〕int(d%i) -- -- -,执行语句i=(a=3*9,a/5),a+11; 后,变量i 的值是〔 - 线 -5.inti,a;〕。

- - - - -- - - - --- - -A 〕5B 〕16C 〕27D 〕38 - - - - - - - - -- - - 〕。

中南大学C++期末考试试卷

中南大学C++期末考试试卷

x=y
; y=t
;。
6.在 C++ 中,有两种给出注释的方法。一种是沿用 C 语言的注释符,即 /* */ 。
另一种是从它开始,直到它所在行尾的字符都为注释的注释符,即 //

7.在 C++ 中, 函数在定义时可以预先定义出默认的形参值。默认形参值必须
按 从右到左 的顺序定义。因为在调用时,实参初始化形参是按 从左到右
abcdefg cdefg
//加号向右从第 n 位输出
第 3 页 共 6页
2.源程序如下:
# include <iostream.h>
# define N 5
*********
void main( )
*******
{
*****
int i , j ;
***
for( i = N; i >= 1 ; i-- )
律是:数列前两项均为 1,从第三项开始,每一项都是其前两项的和。请补全
fac 函数。
# include <iostream.h>
int fac( int n ) ;
void main( )
{
int i ;
for( i = 0 ; i < 20 ; i + + )
cout << fac( i ) << ″ ″;
} Class :: ~Class( ) {
cout <<“Destruct : x=” << x <<“, y= ” << y << endl ;
}
第 5 页 共 6页
void main( ) {

中南大学C语言历年试卷

中南大学C语言历年试卷

[6] );
if(isprime(*(p+i)) ) sum+=*(p+i)
}
printf(“sum=%d”,sum);
}
int isprime(int x)
{ int i,f=1;
for(i=2;i<=sqrt(x);i + + )
if(x%i = = 0) {f=0;break;}
[7]
;
}
3. 以下程序调用 invert 函数按逆序重新放置 a 数组中元素的值。a 数组中的值在 main
if (*(p1+k)= =*(p2+k))
printf("%c",*(p1+k));
}
四. 阅读程序,根据提示信息完善程序,每个空只能填写一条语句或一个表达式(每空
3 分,共 30 分)
1. 以下程序求数组中值最大的元素在数组中的下标。
# include <stdio.h>
void main()
{ int a[10] , i , num = [1]
void main()
{ char *chp ;
for (chp =b;*chp ;chp +=2) printf("%s",chp);
printf("\n");
}
10. 以下程序运行后,输出结果是 [10]
void main( )
{ char *s="abcde";
s+=2;
print("%s \n",s);
函数中读入。
#include <stdio.h>

大学c语言期末考试题及答案

大学c语言期末考试题及答案

大学c语言期末考试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,错误的是:A. C语言是一种高级语言B. C语言的执行方式是编译执行C. C语言支持面向对象编程D. C语言具有丰富的库函数答案:C2. 在C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A3. 下列关于数组的描述中,正确的是:A. 数组必须在定义时初始化B. 数组的下标从1开始C. 数组可以存储不同类型的数据D. 数组的大小在定义后不能改变答案:D4. 在C语言中,用于文件操作的库函数是:A. printfC. fopenD. getchar答案:C5. 下列关于指针的描述中,错误的是:A. 指针可以存储变量的地址B. 指针可以作为函数的参数C. 指针可以被赋值为NULLD. 指针可以存储函数的地址答案:D6. 在C语言中,用于定义一个函数的关键字是:A. functionB. defC. voidD. int答案:B7. 下列关于循环的描述中,错误的是:A. for循环可以嵌套使用B. while循环可以和break语句一起使用C. do-while循环至少执行一次D. 循环体内不能使用continue语句答案:D8. 在C语言中,用于定义一个宏的预处理命令是:B. #includeC. #pragmaD. #import答案:A9. 下列关于函数的描述中,错误的是:A. 函数可以有返回值B. 函数可以没有参数C. 函数可以没有返回值D. 函数可以没有定义答案:D10. 在C语言中,用于定义一个枚举类型的关键字是:A. enumB. structC. unionD. typedef答案:A二、填空题(每题2分,共10分)1. C语言中,用于定义一个整型变量的关键字是____。

答案:int2. 在C语言中,表示逻辑与运算的运算符是____。

答案:&&3. 当需要在C语言中表示一个常量时,可以使用关键字____。

c语言考题及答案(可编辑修改word版)

c语言考题及答案(可编辑修改word版)

2011-2012 第二学期C 语言期末试卷一、选择题:(每小题1分,共20分)1、一个C程序的执行是从( A )。

A.本程序的main函数开始,到main函数结束B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C.本程序的main函数开始,到本程序文件的最后一个函数结束D.本程序文件的第一个函数开始,到本程序main函数结束2、在 C 语言中,每个语句必须以( D )结束。

A. 回车符B. 冒号C. 逗号D. 分号3、C 语言规定:在一个源程序中,main函数的位置( C )。

A. 必须在最开始B. 必须在系统调用的库函数的后面C. 可以任意D. 必须在最后4、以下选项中,( D )是不正确的 C 语言字符型常量。

A. 'a'B. '\x41'C. '\101'D. "a"5、若x、i、j和k都是int型变量,则计算下面表达式后,x的值是( C )。

x=(i=4,j=16,k=32)A. 4B. 16C.32D.526、在以下一组运算符中,优先级最低的运算符是( D )。

A. *B. !=C. +D. =7、了避免嵌套的if-else语句的二义性,C语言规定else总是与( C )组成配对关系。

A. 缩排位置相同的ifB. 在其之前未配对的ifC. 在其之前尚未配对的最近的ifD. 同一行上的if8、为表示关系x≥y≥z,应使用C语言表达式( A )A. (x>=y)&&(y>=z)B. (x>=y)AND(y>=z)C. (x>=y>=z)D. (x>=y) || (y>=z)9、若变量已正确说明为int类型,要给a、b、c输入数据,以下正确的输入语句是( D )A.read(a,b,c)B.scanf(“%d%d%d”,a,b,c);C.scnaf(“%D%D%D”,&a,&b,&C);D.scanf(“%d%d%d”, &a,&b,&c);10、执行语句scanf("%d,%d",&m,&n);使m和n的值分别为1和2,正确输入是( C )A.1 2B.1 2C.1,2D.1211、main(){ int i = 10, j = 1;printf("%d,%d\n",i- -, ++j);}执行后输出结果是( B )A. 9,2B. 10,2C. 9,1D. 10,112、C语言中while和do-while循环的主要区别是( A )A.do-while的循环体至少无条件执行一次B.while的循环控制条件比do-while的循环控制条件严格C.do-while允许从外部转到循环体内D.do-while的循环体不能是复合语句13、下面有关for循环的正确描述是( D )A.for循环只能用于循环次数已经确定的情况B.for循环是先执行循环体语句,后判断表达式C.在for循环中,不能用break语句跳出循环体D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来14、以下正确的描述是( B )A.continue语句的作用是结束整个循环的执行B.只能在循环体内和switch语句体内使用break语句C.在循环体内使用break语句或continue语句的作用相同D.从多层循环嵌套中退出时,只能使用goto语句15、以下对C语言函数的有关描述中,正确的是( A )。

中南大学C 语言程序设计试卷

中南大学C 语言程序设计试卷

C 语言程序设计试卷一、单项选择题(每题1分,共20分)1. C语言规定:在一个源程序中,main函数的位置( )。

A. 必须在最开始B. 必须在系统调用的库函数的后面C. 可以任意D. 必须在最后2. 下面四个选项中,均是合法浮点数的选项是( )。

A. +1e+1 5e-9.4 03e2B. -.60 12e-4 -8e5C. 123e 1.2e-.4 +2e-1D. -e3 .8e-4 5.e-03. 若a=-14,b=3,则条件表达式a<b? a:b+1的值为()。

A. -14B. -13C. 3D. 44. 已知:int n,i=1,j=2;执行语句n=i<j?i++:j++;则i和j的值是( ).A. 1,2B. 1,3C. 2,2D. 2,35. 为了判断两个字符串s1和s2是否相等,应当使用( )A. if (s1==s2)B. if(s1=s2)C. if (strcmp(s1,s2))D. if (strcmp(s1,s2)==0)6. 以下正确的描述是( )。

A. 函数的定义可以嵌套,但函数的调用不可以嵌套。

B. 函数的定义不可以嵌套,但函数的调用可以嵌套。

C. 函数的定义和函数的调用均不可以嵌套。

D. 函数的定义和函数的调用均可以嵌套。

7. 在C语言中,下面对函数不正确的描述是( )。

A. 当用数组名作形参时,形参数组值的改变可以使实参数组之值相应改变。

B. 允许函数递归调用。

C. 函数形参的作用范围只是局限于所定义的函数内。

D. 子函数必须位于主函数之前。

8. 如果在一个函数中的复合语句中定义了一个变量,则以下正确的说法是( )。

A. 该变量只在该复合语句中有效B. 该变量在该函数中有效C. 该变量在本程序范围内均有效D. 该变量为非法变量9. 以下正确的函数形式是( )。

A. double fun(int x,int y) { z=x+y;return z;}B. fun(int x,y) { int z; return z;}C. fun(x,y) { int x,y; double z; z=x+y; return z;}D. double fun( int x,int y) {double z; z=x+y; return z; }10. 以下程序的输出结果是( )。

c语言期末考试试题及答案

c语言期末考试试题及答案

c语言期末考试试题及答案一、选择题1. C语言中用于表示逻辑“与”操作的关键字是()。

A. &&B. ||C. &D. and答案:A2. 若有定义:int a = 5; int b = 10; 则表达式 a * b / 3 的值是()。

A. 15B. 17C. 20D. 25答案:D3. 下列哪个函数用于计算字符串的长度?A. strlen()B. strcmp()C. strcpy()D. strrev()答案:A4. C语言中,文件的打开模式“w”表示什么?A. 写入模式,文件不存在则创建,存在则覆盖B. 写入模式,文件不存在则创建,存在则追加内容C. 读取模式,文件不存在则创建,存在则覆盖D. 读取模式,文件不存在则报错,存在则读取内容答案:A5. 以下哪个选项是C语言中的合法整型常量?A. 0x1FB. 01FC. 1.0e2D. 0b11答案:A二、填空题1. 在C语言中,使用关键字________定义一个全局变量。

答案:extern2. 若有定义:int x = 10; 则执行语句 x += x; 后,变量x的值是________。

答案:203. 在C语言中,使用函数________可以将一个字符串复制到另一个字符串中。

答案:strcpy4. 一个C语言程序的执行是从________函数开始的。

答案:main三、判断题1. C语言中的数组下标是从0开始计数的。

()答案:正确2. 在C语言中,可以定义一个空指针,其值为0。

()答案:正确3. C语言允许在函数定义中再定义另一个函数。

()答案:错误四、简答题1. 请简述C语言中的指针和引用的主要区别。

答案:指针是一个变量,其存储的是另一个变量的地址;而引用是另一个变量的别名,它必须在定义时就被初始化,并且不能被重新指向其他变量。

指针可以直接被修改以指向不同的地址,而引用则始终指向初次定义时的变量。

2. 解释C语言中的预处理器指令#if、#else和#endif的作用。

C语言期末试题2011年C

C语言期末试题2011年C

倾情奉献---马杰C 语言 考试题,满分为100分。

本试卷为卷面笔试部分,卷面满分为90分。

一、填空题(10分,第1小题4分,其余每空1分) 1.设有下列登记表,请采用最佳方式定义一种数据类型来表示这些数据的集合。

其中,配偶姓名用spouseName 表示,子女人数用children 表示。

注意行为规范,遵守考试纪律! 姓名name 性别 sex 职业 profession 婚姻状况marital 未婚 年龄 single Age 已婚married 离婚日期 divorcedDay 配偶 姓名 子女 人数 年 year 月 month 日 date 婚姻状况标记 marry Flag marital2.C语言中构造数据类型包括、、。

3.C语言中用_______表示逻辑值“假”,用________表示逻辑值“真”。

4.char *p[10];这条语句的含义是:__ ___ _ _ 。

二、判断下列问题描述正确与否,正确的打“√”,错误的打“×”。

(4分,每题1分)1.如果在程序中定义静态变量和全局变量时,未明确指明其初始值,那么它们可以在程序编译阶段自动被初始化为0值。

()2.在C语言中,可以用typedef定义一种新的数据类型。

()3.在C语言中,实参与其对应的形参各占独立的存储单元。

()4. 在C语言中,函数的定义可以嵌套。

()三、选择题:(10分,每题2分)1.若用数组名作为函数调用时的实参,则实际上传递给形参的是()。

A.数组的首地址 B. 数组的第一个元素值C.数组中全部元素的值 D. 数组元素的个数2.判断两个字符串s1和s2相等,应当使用( )。

A. if (s1 == s2)B. if (s1 = s2)C. if (!strcmp(s1,s2))D. if (strcmp(s1,s2))3.在while(x)语句中的x与下面条件表达式等价的是:。

A. x!=0B. x==1C. x!=1D. x==04.二维数组a有m行n列,则在a[i][j]之前的元素个数为()。

C语言期末考试卷及答案

C语言期末考试卷及答案

二、判断题:(请在正确的叙述前打“√”,错误的打“×”,每题2分,共20分)()1.C语言中的变量必须先定义后使用。

()2.一个C程序的main函数,必须放在程序的所有函数的最前面,应为程序总是从它开始执行的。

()3.注释是多余的信息,会干扰计算机执行代码,因此程序里不要写注释。

()4.C语言中,大小写都是一样的,例如Main与main是一样的。

()5.C程序中的任何语句,包括空语句,都要用;结束。

()6.while语句和do-while语句都是实现循环的语句。

()7.在计算一个表达式的值的时候,要注意各个运算符的优先级和结合性。

()8.C程序的代码可以用word编辑并直接运行。

()9.表达式”a=b=c=5”的运算方向是从左向右。

()10.C语句也可以使用中文编写。

三、画程序流程图:(10分)根据下面的代码,画出相应的程序流程图。

#include <stdio.h>main(){int a,b,c,max;printf("Input a,b,c:");scanf("%d,%d,%d",&a,&b,&c);if(a>b)max=a;elsemax=b;if(max<c)max=c;printf("max=%d\n",max);}四、程序分析(共25分)1.写出下列程序运行结果。

(10分)#include <stdio.h>main(){int a=10,b=8,c=6;printf("a=%d,b=%d,c=%d\n",a,b,c); c=a>b?a++:++b;printf("a=%d,b=%d,c=%d\n",a,b,c); }运行结果:2.写出下列程序运行结果。

(15分)#include <stdio.h>main(){int a[5]={0},i;for(i=0;i<3;i++){a[i]=i*2;}for(i=0;i<3;i++){printf("a[%d]=%d\n",i,a[i]);}}运行结果:五、编写程序(25分)1.编写程序:从键盘输入一个矩形的长和宽,求其面积(结果要求保留2位小数)。

c语言期末考试题库大题及详解答案

c语言期末考试题库大题及详解答案

c语言期末考试题库大题及详解答案1. 题目:编写一个C语言程序,实现一个简单的学生成绩管理系统,要求能够添加学生信息、查询学生信息、修改学生信息和删除学生信息。

答案:```c#include <stdio.h>#include <stdlib.h>#include <string.h>typedef struct {int id;char name[50];float score;} Student;Student students[100];int studentCount = 0;void addStudent(int id, char* name, float score) {if (studentCount < 100) {students[studentCount].id = id;strcpy(students[studentCount].name, name);students[studentCount].score = score;studentCount++;} else {printf("学生信息已满。

\n");}}void queryStudent(int id) {for (int i = 0; i < studentCount; i++) {if (students[i].id == id) {printf("学生ID:%d, 姓名:%s, 成绩:%.2f\n", students[i].id, students[i].name, students[i].score);return;}}printf("未找到该学生信息。

\n");}void modifyStudent(int id, char* name, float score) {for (int i = 0; i < studentCount; i++) {if (students[i].id == id) {strcpy(students[i].name, name);students[i].score = score;printf("学生信息已更新。

2011~2012学年第二学期C语言期末考试卷答案(A卷)

2011~2012学年第二学期C语言期末考试卷答案(A卷)

2011~2012学年第二学期C语言期末考试卷答案(A卷)专业班级:学号:姓名:一、选择题(用铅笔把选中的方格涂黑20×1=20分)1 2 3 45 6 7 89 10 11 1213 14 15 1617 18 19 2021 22 23 2425 26 27 2829 30二、填空题(25×2=50分)1. a-b==b-c2. 1<=x<log(10)3. 14. continue5. 56. 87. 108. 13 11 129. 8 10. 2 2 111. 1 0 0 12. 1 2 013. 3 5 8 14. f(a)*f(b)>015. (a+b) /2 16. f(x)*f(a)或y*f(a)17. cos 18. n%i==0或!(n%i)19. a[k++]=i 20. 021. prime(j) 22. NODE23. p2 24. p2->next25. head三、编程题(10×2=20分)1.编写函数int frinum(long s[][2],long n)实现以下功能:找到2 n范围内的所有亲密数对,将这些亲密数对保存到s指向的二维数组中。

函数返回s数组中存储的亲密数对的对数。

编写函数main实现以下功能:求3000以内的亲密数对并输出。

说明:如果A的全部真因子(包括1,不包括A自身)之和等于B;B的全部真因子之和等于A,则称整数A和B为一对亲密数。

#include <stdio.h>int frinum(long s[][2],long n){ long a,b,m,i,k=0;for(a=2;a<=n;a++){ for(b=0,i=1;i<=a/2;i++)if(!(a%i)) b+=i;for(m=0,i=1;i<=b/2;i++)if(!(b%i)) m+=i;if(m==a&&b>m){ s[k][0]=a; s[k][1]=b; k++; }}return k;}void main(){ int i,j; long n,s[20][2];j=frinum(s,3000);for(i=0;i<j;i++)printf("\n( %ld,%ld )",s[i][0],s[i][1]);}2.编写函数int arms(int ar[])实现以下功能:将所有3、4位Armstrong数存入数组ar中,函数返回这些Armstrong数的个数。

2011年C语言试卷(含答案)

2011年C语言试卷(含答案)

2011年计算机科学与技术专业C 语言试卷题号 一 二 三 四 总分校核分数阅卷一、基础知识填空题(每空2分,共20分)1. C 语言规定,必须用___ ____标识符作为主函数。

2. C 语言中用来表示整常数的进制有哪三种:__ _、__ _、__ _。

3. break 语句只能用于___ ____语句和___ ____语句。

4. 数组名命名规则和变量名相同,由字母、数字和下划线组成,并且开头只能是______ _________。

5. C 语言中,形参缺省的存储类说明是___ ______。

6. 一个专门用来存放另一个变量地址的变量叫____ ______。

7. 定义FILE *fp,这里fp 是一个___ _____。

二、基础选择题(每题2分,共30分)1. C 语言程序是由___ ______组成。

A.若干个过程B.若干子程序C.一个主程序和若干个子程序D.若干函数2. 完成C 源程序编辑后,到生成执行文件,C 理系统必须执行的步骤依次为___ 。

A.连接、编译B.编译、连接C.连接、运行D.运行 3. 下列符号中不属于C 语言保留字的是__________。

A.volatileB.thenC.staticD.for4. 假设在程序中a 、b 、c 均被定义成int 型,并且已被赋予大于1的值,则下列几种表达中,能正确表示代数式abc1的C 表达式是__________。

A.1/a*b*c B.1/(a*b*c) C.1/a/b/(float)c D.1.0/(a*b*c)5.设有int x=10,y=3;则下列表达式值为1的是__________。

A.!(y= =x/3)B.y!=x%7C.x>0&&y<0D.x!=y||x>=y6.字符型常量在内存中存放的是该字符对应的__________。

A. ASCII码值B. 十进制值C. BCD码值D. 内部码值7.以下叙述不正确的是__________。

C语言期末考试试卷习题及答案

C语言期末考试试卷习题及答案

C语言期末考试一试卷习题及答案WORD格式C 语言期末考试一试卷(A)一、单项选择题(本大题共20 题,每题 2 分,共40分)1、以下不是 C 语言的特色的是( A )A、C语言简短、紧凑B、能够编制出功能复杂的程序C、C语言能够直接对硬件进行操作D、C语言移植性好2、以下不正确的 C 语言表记符是( D )A、 ABCB、abcC、a_bcD、3、一个 C 语言程序是由( B )A、一个主程序和若干子程序构成B、函数构成C、若干过程构成D、若干子程序构成4、一个算法应当拥有“确立性”等 5 个特征,对此外4个特征的描绘中错误的是( A )A、有零个或多个输入B、有零个或多个输出C语言期末考试一试卷习题及答案C、有穷性D、可行性5、设变量 a是整型,f是实型,i是双精度型,则表达式10+‘ a’ +i*f值的数据类型为( C )A、 intB、floatC、doubleD、不确立6、在 C 语言中, char型数据在内存中的储存形式是( C )专业资料整理WORD格式A、补码B、反码C、源码D、ASCII码7、有以下程序,输入数据:12345M678< cR >后( <CR>表示回车),x的值是()。

#include<stdio.h>main(){int x;float y;scanf("%3d%f",&x,&y);}A、 12345B、123C、 45D、 345int a,b; float,则正确的赋值语句是8、如有以下定义x( )A、a=1,b=2B、b++;C、a=b=5D、b=int(x);9、以下程序的履行结果是()#include<stdio.h>{int i=10,j=10;printf("%d,%d\n",++i,j--);}A、 11,10B、9,10C、11,9D、10,910、巳知字母 A 的 ASCII码是65,以下程序的履行结果是() #include<stdio.h>专业资料整理WORD格式main(){char c1='A',c2='Y';printf("%d,%d\n",c1,c2);、A、 A,Y B、 65,65 C、 65,90 D65,8911、以下运算符中优先级最高的是()A、<、十C 、 %D、 ! =B12、设 x 、 y和 z是 int型变量,且x=3, y = 4 , z = 5 ,则下边表达式中值为0是 ()。

C语言2011期末(A卷+答案)

C语言2011期末(A卷+答案)

中国海洋大学2011 学年秋季学期期末考试试卷共 4 页第 2 页9 若有定义:union data {long i;short k[6];char c[4];}DATE;则表达式sizeof(DA TE)的值是。

(A) 32 (B) 24(C) 20 (D) 1210若调用fputc( )函数输出字符成功,则其返回值是。

(A) 输出的字符(B) 0(C) 1 (D) EOF二(18分)程序分析(共3题,每题6分)1 分析下面程序的输出结果并说明程序的功能。

(输入:N=5)#include <stdio.h>void main(){int i,j,k,N,count;int data[10][10]={0};scanf("N=%d",&N);count=N*N;for(k=0;k<N/2;k++){ for(i=k;i<N-k;i++) data[k][i]=count--;for(i=k+1;i<N-k;i++) data[i][N-k-1]=count--;for(i=N-k-2;i>k;i--) data[N-k-1][i]=count--;for(i=N-k-1;i>k;i--) data[i][k]=count--;}if(N%2!=0) data[N/2][N/2]=1;for(i=0;i<N;i++){ for(j=0;j<N;j++)printf("%3d",data[i][j]);printf("\n");}}2 分析下面程序的输出结果并说明程序的功能。

(输入:num=11)#include<stdio.h>#define M 2unsigned process(unsigned n){ static unsigned S=1;unsigned d,e;d=n/M;if(d==0)e=1;else{ S*=M;e=M*process(d);}if (e==1) printf("(");printf("%d",n%M);if (S==e) printf(")%d\n",M);return(e);}中国海洋大学2011 学年秋季学期期末考试试卷信息学院《高级程序设计语言》课程试题(A卷) 共4 页第3 页void main(){ unsigned num;scanf("num=%u",&num);printf("(%u)10 = ",num);process(num);}3 分析下面程序的输出结果。

2011年中南大学C语言期末试题卷A

2011年中南大学C语言期末试题卷A

中南大学试题卷(A)(2010---2011学年下学期)时间110分钟C及C++可视化程序设计课程48 学时 2 学分考试形式:笔试一、填空(每小题2分,共20分)1. 若x=2,b=3,x=3.5,y=2.5,则表达式(flaot)(a+b)/2+(int)x%(int)y的值为2. 若a=10,则表达式:a+=a-=a*=a/=a执行后的值为______3. 表达式!(“xyz”<“xy”)的值为_____4. 如果a=8,b=9,则表达式(++a==b--)?a++:b--的值为_____5. 若x=10,y=0,则语句while(x=y){x++;break;}循环体执行次数为____6. 设a=7,b=8,c=9,则表达式!(x=a)&&(y=b)&&0的值为____7. 设a=6,b=7,c=8,则表达式!(a+b)+c-1&&b+c/2的值为____8. 现有定义:static int a[2][4]={0,1,2,3,4,5,6,7};则表达式*a[1]的值为___9. 现有宏定义#define y 2,则表达式(…y‟==2)的结果为___10. 若x=y=z=2,则表达式(x||y++)&&(++z)执行后,z的值为________二、选择题(每小题2.分,共40分)1、程序运行时显示出错信息,可以排除下列哪一个因素()A、算法错误B、运行时输入数据错误C、未通过编译D、系统资源配置不当2、表达式!x||a==b等效于()A、!((x||a)==b)B、!(x||y)=bC、!(x||(a==b)D、(!x)||(a==b)3、下列各语句定义了数组,其中哪一个是正确的()A、int s1[5],s2[4,3];B、int n,a[n];C、char st [5]="A";D、int x(10),y(10);4、数组定义为"int a[4][5];",下列哪一个引用错误的()A、*aB、*(*(a+2)+3)C、&a[2][3]D、++a5、若x为浮点型,与数学式子3乘以x的n次方/(2x-1)对应的C语言表达式是_()。

c语言程序设计期末试题A含答案

c语言程序设计期末试题A含答案

c语言程序设计期末试题A(含答案)一、单项选择题(选择一个最佳答案,每题2分,共20分)1.?????? 一个C程序的执行是从(A )。

A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序的main函数开始,到本程序文件的最后一个函数结束D) 本程序文件的第一个函数开始,到本程序main函数结束2.?????? 下列选项中,不能用作标识符的是(D )。

A) _1234_ B) _1_2 C) int_2_ D) 2_int_3.?????? 以下定义语句中正确的是( C)。

A) char a='A'b='B';?? B) float a=b=10.0;C) int a=10,*b=&a;?? D) float *a,b=&a;4.?????? 设有以下定义:#define d 2int a=0; double b=1.25; char c=’A’;则下面语句中错误的是(B)。

A) a++; B) b++ C) c++; D) d++;5.?????? 以下4个选项中,不能作为一条C语句的是(D)。

A) {;} B) a=0,b=0,c=0; C) if(a>0); D) if(b==0) m=1;n=2;6.?????? 有以下定义语句 double a,b; int w; long c;若各变量已正确赋值,则下列选项中正确的表达式是( C)。

A) a=a+b=b++ B) w%(int)a+b) C) (c+w)%(int)a D) w=a==b;7.?????? 设有定义:int n=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是(D)。

A) p=1; B) *q=2; C) q=p; D) *p=5; 选D.A.p是一个指针,不能给它赋一个整型的值1B.*q仍然是一个指针,*q就是p.所以也不能给它赋一个整型的值.C.q=p;q是个二级指针,p是一级指针,不能把一级指针赋给二级指针.*p=5,即给n赋值为5,正确.8.?????? 设有定义:int a,*pa=&a; 以下scanf语句中能正确为变量a读入数据的是( A)。

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

中南大学试题卷(A)(2010---2011学年下学期)时间110分钟C及C++可视化程序设计课程48 学时 2 学分考试形式:笔试一、填空(每小题2分,共20分)1. 若x=2,b=3,x=3.5,y=2.5,则表达式(flaot)(a+b)/2+(int)x%(int)y的值为2. 若a=10,则表达式:a+=a-=a*=a/=a执行后的值为______3. 表达式!(“xyz”<“xy”)的值为_____4. 如果a=8,b=9,则表达式(++a==b--)?a++:b--的值为_____5. 若x=10,y=0,则语句while(x=y){x++;break;}循环体执行次数为____6. 设a=7,b=8,c=9,则表达式!(x=a)&&(y=b)&&0的值为____7. 设a=6,b=7,c=8,则表达式!(a+b)+c-1&&b+c/2的值为____8. 现有定义:static int a[2][4]={0,1,2,3,4,5,6,7};则表达式*a[1]的值为___9. 现有宏定义#define y 2,则表达式(…y‟==2)的结果为___10. 若x=y=z=2,则表达式(x||y++)&&(++z)执行后,z的值为________二、选择题(每小题2.分,共40分)1、程序运行时显示出错信息,可以排除下列哪一个因素()A、算法错误B、运行时输入数据错误C、未通过编译D、系统资源配置不当2、表达式!x||a==b等效于()A、!((x||a)==b)B、!(x||y)=bC、!(x||(a==b)D、(!x)||(a==b)3、下列各语句定义了数组,其中哪一个是正确的()A、int s1[5],s2[4,3];B、int n,a[n];C、char st [5]="A";D、int x(10),y(10);4、数组定义为"int a[4][5];",下列哪一个引用错误的()A、*aB、*(*(a+2)+3)C、&a[2][3]D、++a5、若x为浮点型,与数学式子3乘以x的n次方/(2x-1)对应的C语言表达式是_()。

A、3*x^n/(2*x-1) B、3*x**n/(2*x-1)C、3*pow(x,n)*(1/(2*x-1))D、3*pow(n,x)/(2*x-1)6、C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是()。

A、voidB、intC、floatD、double7、若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是()。

A、p=q;B、*p=*q;C、n=*q;D、p=n;8、调用函数:strcat(strcpy(strl,str2),str3)的结果是()A.将串str1复制到串str2中后再连接到串str3之后B.将串strl连接到串str2之后再复制到串str3之后C.将串str2复制到串strl中后再将串str3连接到串strl之后D.将串str2连接到串strl之后再将串strl复制到串str3中9、C语言中以下说法正确的是()A.不能使用while语句构成的循环B.while语句构成的循环必须用break语句才能退出C.while语句构成的循环,当while语句中的表达式值为非零时结束循环D.while语句构成的循环,当while语句中的表达式值为零时结束循环10、有以下程序#include<stdio.h>main(){ char a='a',b;printf("%c,",++a);printf("%c\n",b=a++);}程序运行后的输出结果是()A、b,bB、b,cC、a,bD、a,c11、下列各语句定义了数组,其中哪一个是正确的()A、int s1[5],s2[4,3];B、int n,a[n];C、char st [5]="A";D、int x(10),y(10);12、设有说明double (*p1)[N];其中标识符p1是()。

A. N个指向double型变量的指针。

B.指向N个double型变量的函数指针。

C. 一个指向由N个double型元素组成的一维数组的指针。

D. 具有N个指针元素的一维指针数组,每个元素都只能指向double型量。

13、设有如下定义: char *aa[2]={"abcd","ABCD"}; 则以下说法中正确的是()。

A、aa数组成元素的值分别是"abcd"和ABCD"B、aa是指针变量,它指向含有两个数组元素的字符型一维数组C、aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址D、aa数组的两个元素中各自存放了字符'a'和'A'的地址14、设有如下定义:struct sk{ int a;float b;}data; int *p;若要使p指向data中的a域,正确的赋值语句是__ ___。

A、p=&a;B、 p=data.a;C、 p=&data.a;D、 *p=data.a15、有以下程序#include<stdio.h>struct STU{ char num[10];float score[3];}main(){struct STU s[3]={{"20021",90,95,85},{"20022",95,80,75},{"20023",100,95,90}},*p=s;int i; float sum=0;for(i=0;i<3;i++) sum=sum+p->score[i];printf("%6.2f\n",sum);}程序运行后的输出结果是______。

A、260.00B、270.00C、280.00D、285.00 16、数组定义为int a[4][5],下列哪一个引用错误的()A) *a B) *(*(a+2)+3) C) &a[2][3] D) ++a17、下列语句中与语句while(i>=0&&i<=10){ if(i==5) continue;printf("%f\n",1.0/(i-5));i++;}功能相同的是()A) for(;i>=0&&i<=10;i++) if(i!=5) printf("%f\n",1.0/(i-5));B) for(;i>=0&&i<=10;i++) if(i==5) printf("%f\n",1.0/(i-5));C) for(;i>=0&&i<=10;i++) if(i!=5) printf("%f\n",1.0/(i-5));else break;D) for(;i<=0&&i>=10;i++) if(i!=5) printf("%f\n",1.0/(i-5));18.在以下一组运算符中,优先级最高的运算符是[ ]A) <= B) = C) %D) &&19. 下列选项中,不能用作标识符的是【】A) _1234_ B) _1_2 C) int_2_ D) 2_int_20、定义带参数的宏"#define jh(a,b,t) t=a;a=b;b=t",使两个参数a、b的值交换,下列表述中哪个是正确的()A、不定义参数a和b将导致编译错误B、不定义参数a、b、t将导致编译错误C、不定义参数t将导致运行错误D、参数a、b、t不是变量,不必定义类型三、阅读程序,给出运行结果。

(每小题5分,共20分)1、#include <stdio.h>#include <math.h>#define BE(x) 2*x*x*x#define AA 1#define B 3#define ROW(x) 2*x*xmain(){ int a=2,b=3,c,d;float x,y,z; char st;c=BE(++a); d=ROW(b+1);x=3.14159/4; y=sin(x)+cos(x);st=‟B‟+2;printf(“\nc=%d,a=%d,d=%d,AA=%d,y=%4.3f,s=%d\n”,c,a,d,AA,y,st); }运行结果为:2、#include <stdio.h>void sub();void main(){extern int a;printf(“\na=%d”,++a);sub();}int a=8;void sub(){int x=3;if(x==3) { int x=4;printf(“x=%d\n”,x++); }printf(“sub:x=%d,a=%d\n”,x,++a);}运行结果为:3、#include "stdio.h"void sub1(int (*t)[3]);void main(){int a[2][3]={0,1,2,3,4,6};char *string[]={"pascal","Bacis","Fortran"};char **pt; int i,j;printf("%d,%d\n",*a[0],*(a[1]+2)/3);sub1(a);for(i=0;i<2;i++)for(j=0;j<3;j++)printf("%d,",*(a[i]+j));printf("\n");pt=string;printf("%c,%s\n",*(*pt+1),*(pt+2));}void sub1(int (*t)[3]){int i,j;for(i=0;i<2;i++)for(j=0;j<3;j++)t[i][j]+=2;}运行结果为:4、#include "stdio.h"struct emp{char *name;int age;float sales;}void main(){struct emp a[2],b,c,*pt;="Chang";b.age=30;b.sales=200.0;a[0].name="Liu";a[0].age=55;a[0].sales=350.0;a[1].name="Hu";a[1].age=45;a[1].sales=300.0;pt=a;pt++;printf("%s's age is %d\n",pt->name,pt->age);c=b;pt=&c;printf("%s's sale is %3.0f\n",pt->name,pt->sales);}运行结果为:四、程序填空题(每小题10分,共20分)1、从键盘上任意输入两个数据,然后交换它们顺序进行输出。

相关文档
最新文档