东华大学c语言期末考试题,东华大学C语言-模拟题

62e50291a81fc54b507f33cb80033297.gif 东华大学C语言-模拟题

(8页)

b70f7b33f8dfe5906f6ed7297f287ebe.gif

本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!

9.9 积分

C 语言程序设计模拟题一、选择题(共15分,每题 1分 )1.C以下叙述中,正确的是 。A. 在C程序中,main函数必须位于程序的最前面B. C程序的每一行只能写一条语句C. C语言本身没有输入输出语句D. 在对一个C程序进行编译的过程中,可发现注释中的拼写错误2.B C语言表达式 a=15,a%6的值是 。A. 15B. 3C. 2D. 非法表达式3. D若x是整型变量,y是单精度浮点型变量,值为10,表达式 x=y/4的值是 。A. 2.5B. 2.0C. 3D. 24. B 循环语句中,continue语句的作用是 。A. 终止程序B. 结束本次循环C. 从本循环体内跳出D. 跳出子函数5. B 下列 语句定义p为指向double类型变量x的指针。A. double x, *p=x;B. double x, *p=&x;C. double *p=&x , x;D. double x, p=x;6. D 下面四个程序段中,不能输出23个*号的程序段是 。A. for(int i=0; i<23; i++) putchar(‘*’);B. for(int j=23; j>0; j--) putchar(‘*’);C. int k=23; while(k>0) {putchar(‘*’); k--;}D. int i=0; while(i>23) {putchar(‘*’); i++;} 7. B以下对结构体变量stu1中成员age的非法引用是 。stuct student{ int age; int num;}stu1, *p=&stu1;A. stu1.ageB. student.ageC. p->ageD. (*p).age8. D 设有变量定义 int x, a=3, b=4; 则语句 x=(a=0)&&(b=8); 执行之后各变量的值为 。A. x=0, a=0, b=8B. x=1, a=3, b=4C. x=1, a=0, b=8D. x=0, a=0, b=49.A C语言中的标识符只能由字母、数字和下划线组成且第一个字符 。A. 必须为字母或下划线B. 必须为下划线C. 必须为字母D. 可以是字母、数字或下划线中的任一个10.C 若希望A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”,则以下不能满足要求的表达式是 。A. A%2==1B. !(A%2==0)C. !(A%2)D. A%211.B 下面运算优先级按从高到低的排列顺序是 。A. 算术运算、逻辑运算、关系运算B. 条件运算、赋值运算、逗号运算C. 逻辑运算、关系运算、赋值运算D. 位运算、算术运算、赋值运算12.B以下程序段的输出结果为: 。for ( i=4; i>1;i-- )for ( j=1; j main() { char a; printf("输入一个字符:"); a=getchar(); ___________________ //答案: if( a= ='Y' || a= ='N' ) if (a= =’Y’) printf( "是"); else printf( "否"); else printf( "输入数据不合要求");}2、输入一个整数n,计算累加和(1+2+3+...+n)并输出。main(){ ___________________ //答案:int i, n, sum=0; scanf( "%d", &n ); for ( i = 0; i <= n; i++ ) sum += n; ___________________ //答案:printf( "%d", sum );}3、查找100至999之间所有符合以下条件的数:它是另一数的平方,且至少有两位数是相同的。如数144,它是12的平方,其中有两位4。main(){ int n,m,a,b,c; for ( n = 10; n <= 31; n++ ) { ___________________ //答案:m = n*n; a=m%10; b = m / 10 % 10; c = m / 100 % 10; ___________________ //答案: if ( a= =b || b= =c || a= =c ) printf( "%d ", m ); } } 4、输入n个整数,判断它们是否有重复,如果没有重复输出yes,否则输出No。 #include #define N 100main(){ int a[N], n, i, j, isyes=1; scanf( "%d", &n ); for ( i=0; i#includemain(){ char str[81]; ___________________ //答案: int n1=0,n2=0; gets(str); for ( i = 0; str[i] ! = '\0'; i++ ){ if ( str[ i]=='#' ) n1++; ___________________ //答案:if (str[i]>='0' && str[i] <= '9' ) n2++; } printf( "#=%d, digit=%d\n", n1, n2 );}6、 下列函数用冒泡法对一维整数数组中的数据进行从小到大的排序,请填空。void sort(int a[],int n){ int i, j; for( i=0; i < n-1; i ++) for ( _ ___ ) //答案: j=0; ja[j+1]) { t= a[j]; a[j] = a[j+1]; a[j+1] = t; } } 四、编程题(25分)1. 在源程序文件“C:\素材\StrCount.c”中,编写程序,完成以下功能,并将StrCount.c文件保存到“C:\KS”文件夹(10分):从键盘上输入一行字符串,分别统计字符串中英文字母、空格、数字和其它字符的个数。2. 学生基本信息存放在数据文件“C:\素材\StuInfo.dat”中,每位学生记录以下数据:学生编号(整型)、学生姓名(字符型),具体数据结构见源程序文件。在源程序“C:\素材\StuMana.c”文件中,补充函数完成以下功能,并将StuMana.c文件保存到“C:\KS”文件夹。(函数定义见源程序文件)(15分)。(1) 从数据文件中读取每位同学的编号和姓名信息(5分);(2) 在屏幕上每显示一位同学的编号和姓名后,输入该同学身高(5分)。(3) 所有同学身高输入完成后,计算并显示所有同学的平均身高(5分)。/* 请在此文件中完成以下两个函数实现,并调试程序,实现程序功能 *//* int readFile( struct stuinfo stu[] ); *//* void input_high( struct stuinfo stu[], float high[], int n ) */ /* *//* 其它函数内容请勿更改 */#include #include #include struct stuinfo{ int serial; //学生编号 char name[10]; //学生姓名};int readFile( struct stuinfo stu[] );void input_high( struct stuinfo stu[], float high[], int n );void write_data();void main(){ struct stuinfo stu[30]; float stuHigh[30]; int stuNum; int topStu=0; // write_data(); stuNum = readFile( stu ); input_high( stu, stuHigh, stuNum ); return ;}/* 从文件"StuInfo.dat"中读出各位学生记录,以及记录个数 *//* 学生记录存放在数组 stu中,函数返回学生人数 */int readFile( struct stuinfo stu[] ){ FILE *fp; int stunum,i=0; if((fp=fopen("StuInfo.dat","rb+"))==NULL) { printf("file can't open!"); exit(0); } stunum = fread(stu,sizeof(struct stuinfo),30,fp); fclose(fp); return stunum;}/* 输入每个学生的身高信息 *//* 显示每位同学基本信息后,输入该同学的身高 *//* 计算并显示所有同学的平均身高 */void input_high( struct stuinfo stu[], float high[], int n ) { int i; float ave=0; for(i=0;i 30 ) { printf("data error"); exit(1); } for( i=0; i

524d6daf746efaa52c3c71bbfe7ba172.gif  天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值