广东海洋大学C程序设计试卷(第1套)_第1页
广东海洋大学C程序设计试卷(第1套)_第2页
广东海洋大学C程序设计试卷(第1套)_第3页
广东海洋大学C程序设计试卷(第1套)_第4页
广东海洋大学C程序设计试卷(第1套)_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、班级: 姓名: 学号: 试题共 页 加白纸 张 密 封 线广东海洋大学 学年第 学期 C程序设计 课程试题课程号:16232110考试A卷闭卷考查B卷开卷题 号一二三四五六七八九十总分阅卷教师各题分数25201010530100实得分数一、单项选择题(25分,每题1分)1. 正确的c语言标识符是_.A. 2name B. DATA_FILE C. (break) D. A COM答案:B 知识点:标识符 难度:C2. 在c语言中,数组元素的下标从_开始.A. 0 B. 1 C. 2 D. 任意答案:A 知识点: 数组 难度:C3. 执行下列程序后,a的值是_. Int a=9, b, c; a

2、+=2;A. 2 B. 10 C. 11 D. 8答案:C 知识点:运算符 难度:B4. 若有以下定义和语句,且, 则_是对数组元素的正确表示.int a =1,2,3,4,5, *p; p=a;A. &(a+2) B. a+ C. p2 D. &p 答案:C 知识点:数组 难度:A5 为避免嵌套条件支语句ifelse 的二义性,C语言规定,else总是与_组成配对关系.A. 缩排位置相同的if B. 同一行的ifC. 在其之前未配对的最近的if D.在其之前未配对的if答案:C 知识点:分支语句 难度:C6. 若a=10,b=20,c=30,则表达式_的值为真.A. !(a!=0) B. (

3、ac)C. (bc)|(ba) D. (c= =a)| (c= =b)答案:C 知识点:表达式 难度:B7. 若已定义:int a9,*p=a;并在以后的语句中未改变p的值,不能表示a1 地址的表达式是_Ap+1 Ba+1 Ca+ D+p答案:C 知识点:指针 难度:A8. 若有以下的说明和语句,则在执行for语句后,*(*(pt+l)+2)表示的数组元素是_int t33, *pt(3, k;for (k=0;k0); D. if(b=0) m=1;n=2;(难度系数C,知识点:单行语句)答案:D12.若已定义: int a =0,1,2,3,4,5,6,7,8,9, *p=a,i; 其中

4、0i9, 则对a数组元素不正确的引用是( )A. ap-a ( B) *(&ai) C. pi D. a10(难度系数C,知识点:数组元素)答案:D13若有int s4=1,2,3,4;,则ss0+2*s2-s3的值是( ) A.1B.2C.3D.4数组运算(难度系数C)答案:D 14 用数组名作为函数的实参时,传递给形参的是( )。A. 数组的首地址B. 数组的第1个元素C. 数组中的全部元素D. 数组的元素个数函数调用(难度系数C)答案:A15表达式A+4*25.0-b的正确结果是( )。.67 .67.0 . 不确定 . 67LC语言表达式运算(难度系数B)答案:B16能表示条件0x10

5、0的表达式是( )。.0=x=0,x=0&x=100C语言表达式运算(难度系数C)答案:D17对字符串Boy进行完整赋值的操作是( )。 Achar s3 = B,o,y; B. char s = Boy; Cchar s3 = Boy;D.char s3; s=Boy;字符串数组运算(难度系数C)答案:B 18若有代数式,则不正确的C语言表达式是( )。Ax/b/c*y*8 B. 8*x*y/b/c C8*x*y/b*c D. x*y/c/b*8C语言表达式(难度系数B)答案:C19、下列可以正确表示字符型常数的是 。 A.B B. 010 C. 68 D. D(知识点 字符型常数 难度系数

6、C)正确答案:B20、 以下程序的输出结果是 。void main()int a=1,2,3,4,5,6,*p;p=a; *(p+3)+=1;printf(“%d,%dn”,*p,*(p+3);A. 0,5 B. 1,5 C. 0,6 D. 1,6(难度系数B)(答案:B )(知识点:指针)21、若变量a是int类型,并执行了语句:a=D+3.5; 则正确的叙述是: A. a的值是字符D B.a的值是3C. 不允许字符型和浮点型相加 D. a的值是字符D的ASCII值加上3(知识点 字符 难度系数B)正确答案:D22. 若有说明语句:int a, b, c, *d=&c;, 则能正确从键盘读入

7、三个整数 分别赋给变量a、b、c的语句是( )。A. scanf(%d%d%d,&a,&b,&d); B. scanf(%d%d%d,&a,&b,d);C. scanf(%d%d%d,a,b,d); D. scanf(%d%d%d,a,b,*d);(知识点 键盘读入 难度系数C)正确答案:B23为判断变量m是否是数字,可用表达式 ( ) 。A.0= m & m=9 B.0=m & m=9 C.0=m & m8;y=+i)printf(%d,%d ,x-,y); 答案:10 10 9 1 知识点:for循环 难度:B 6、若有说明:int a34=1,2,0,4,6,8,10,则a12= (知识

8、点 数组 难度系数C)答案:07、已知x=2.5,a=7,y=4.7,则x+a%3*(int)(x+y)%2/4的值为:_(知识点 变量 难度系数B)答案:2.58、设i,j均为int型变量,则执行完下面的for循环后,k的值为 。 for(i=1,j=10; i=j; i+,j-) k=i+j;(知识点 变量 难度系数B)答案:509、定义b为共有10个元素的一维数字数组、同时定义p为指向a数组首地址的指针变量的语句为 。(知识点 数组 难度系数B)答案:int b20 ,*p=a;10、若b=10,则(+b)+( +b)+( +b) 的值为: (知识点 +运算符 难度系数A)答案:39三、

9、判断题(10分,每题1分)1、( )所有的变量在使用前都必须予以申明。(难度系数C,知识点:变量声明)答案:错2、( )switch选择结构中必须有default子句。(难度系数C,知识点:switch选择结构)答案:错3、( )求余运算符%只能用于两个整数操作数。(难度系数C,知识点:求余运算符%)答案:对4、( )若有说明int c;则while (c=getchar();是错误的C语句。(难度系数B,知识点:while语句)答案:错5、( )使用continue和break语句,都可以使得C程序的执行直接从循环中跳出。 (难度系数C,知识点:跳出循环语句)答案:错6、( )注释内容太多会

10、影响程序的执行效率。知识点:C程序执行(难度系数C)答案:错7、( )C程序执行的入口是main()函数,所以main函数必须放在程序的开头。知识点:C程序执行(难度系数C)答案: 错 8、( )若定义的函数没有参数,则函数名后的圆括号可以省略。知识点:函数定义(难度系数C)答案: 错 9( )在一个函数内中定义的变量可以在本函数范围内有效。(知识点 函数 难度系数B)答案:对10( )全局变量和静态变量没有初始时,初始值为0。(知识点 变量 难度系数B)答案:对四、程序填空题(10分,每题5分)1、下面程序的功能是:求一个55矩阵对角线元素之和。#define N 5main( ) int

11、aNN, sum=0; int i, j; for (i=0; iN; i+) for (j=0; jN; j+) scanf(%d, &aij); for (i=0; iN; i+) printf(sum=%4dn, sum);(难度系数B,知识点:二维数组求和)答案:sum=sum+aii;2、输入一行数字字符,请用数组元素作为计数器来统计每个数字字符的个数。用下标为0元素统计字符“0”的个数,下标为1的元素统计字符“1”的个数。 程序如下#include “stdio.h”void main() char c80;int i=0,k,a10=0; gets(c); while( ) k=

12、ci-48; ; i+; for(i=0;i10;i+) printf(n %d, ); (知识点 数组 难度系数B)答案: ci!=0 ak+或ak+1 ai五、读程序写结果(5分,每题5分)1、#include #include struct Worker char name15; /姓名 int age; /年龄 float pay; ; /工资void main() Worker x; char *t=WeiRong; int d=45; float f=4000; strcpy(,t); x.age=d; x.pay=f; printf(%s %d %f n, x.nam

13、e, x.age, x.pay); 该程序的运行结果是:_(知识点 指针,字符 难度系数B)答案:WeiRong 45 4000六、编程题(30分,每题10分)1、打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方5的三次方3的三次方。答案:#include stdio.hmain()int i,j,k,n;printf(water flowernumber is:);for(n=100;n1000;n+)i=n/100;/*分解出百位*/j=n/10%10;/*分解出十位*/k=n%10;/*分解出个

14、位*/if(i*100+j*10+k=i*i*i+j*j*j+k*k*k)printf(%-5d,n);printf(n);知识点: 循环结构,分支结构 难度:B2、编写程序判断某一个数m是否为素数,如果是则输出m is a prime,否则就输出m is not a prime。(难度系数C,知识点:素数)答案:main( ) int i, m; printf(please input a number m:n); scanf(m=%d, &m); for (i=2; im; i+) if (m%i=0) printf(%d is a primen, m); break ; else continue ; if (i=m) printf(%d is not a primen, m); 3.编程将字符数组中的字符串逆序存放并将前后结果输出,要求在一个函数中用指针来实现字符串逆序存放。C语言指针使用(难度系数A)答案:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论