本科2017c语言试题(2)(1)_第1页
本科2017c语言试题(2)(1)_第2页
本科2017c语言试题(2)(1)_第3页
本科2017c语言试题(2)(1)_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

1、山东理工大学C语言程序设计试卷答题纸丁万.(B)卷 2016-2017学年第二学期班级:姓名:学号:线订第5页共3页山东理工大学C语言程序设计试卷()卷 2016-2017 学年第二学期班级:姓名:学号: 装订线(注意:请将所有答案写在答题纸上,否则无效)-、判断正误,用,X表示(10分,每小题1分)1 .main函数始终是C程序执行时入口处。V2 .C语言规定标识符只能由字母、数字和下划线三种字符组成,并且第一个字符必须为字母或下划线。v3 . 一个学生的基本数据可以用一个结构体变量来存储,则多个学生的基本数据可以用一个结构体数组进行存储。4 .结构体变量成员的一般引用形式是:结构体变量名.

2、成员名。V4.1 f(!x) 等价于 if(x=0)。 V6 .若有宏定义#define ADD 2+6则表达式3*ADD 的值为24。x, ADD只是一个符号,计算 3*2+67 .宏定义是预处理指令,与定义变量不同,它只是进行简单的字符串替换,不分配内存。V8 .只要按位左移时左侧未移出1,则按位左移一位相当于乘以2。V9 .EOF表示标准输入的开头。X,结尾10 .在C语言中,有字符串常量,但并没有字符串变量。V山东理工大学C语言程序设计试卷()卷 2016-2017 学年第二学期班级:姓名:学号: 装订线二、写出下列程序的运行结果(32分,每小题4分)1 .#include<st

3、dio.h>main()long f=1; int i=1,n=1;while(i<5)f=f*i;i+;printf("f=%ld”,f);f=242 .#include<stdio.h>main()int a5=11,22,33,44,55;int *p=a,i;for(i=4;i>=0;i-)(反向输出)printf("a%d=%d ",i,*(p+i);a4=55 a3=44 a2=33 a1=22 a0=113 . #include<stdio.h>ain()int i,s=0;for(i=1;i<=7;i

4、+) s=s+i;求和if(i%2=0)判断i是否为偶数continue; 如果是偶数继续执行循环,因为存在continue ,所以不执行 printf ,从头开始执行for 循环printf("%d ",s);输出i为偶数时s的值1 6 15 28总结,求i为偶数时s的值4.#include<stdio.h>main() int x,y,z;x=1;y=2;z=3;if(x>y)if(x>z)printf("%d",x);else printf("%d",y);printf("%d"n,z

5、); 3, else与最近的if配对,也就是第二个if,但第二 个if又是第一个if的子语句,而第一个子语句条件不成立, 不执行,所以直接执行最后的 printf5. #include<stdio.h>main()int k=1,n=254;do先执行一遍循环体,再判断 whilewhile(n) 只要n不等于0 ,就一直执行循环体k*=n%10;n/=10;while(n);printf("%d"n,k);406 .#include <stdio.h>int *f(int *x,int *y) if(*x<*y)返回两个数中的较小数retur

6、n x;elsereturn y;main() int a=7,b=8,*p;p=f(&a,&b);printf("%d",*p);77.#include <stdio.h>int *f(int m, int n,int *x,int *y)*x=2*m+n;*y=m-n/2;main() inta,b,c,d;a=8;b=9;f(a,b,&c,&d);printf("%d %d",c,d);25 4很简单的计算C=2*8+9 d=8-4山东理工大学C语言程序设计试卷()卷 2016-2017 学年第二学期班级

7、:姓名:学号: 装订线8.#include <stdio.h>#include <string.h>main()char s30="SDUT",t50;int i,n;n=strlen(s); 获取s数组的长度for(i=0;i<n;i+)ti=si;复制s数组,也就是t数组也是SDUTfor(i=0;i<n;i+)tn+i=sn-1-i;从T字母后,反向复制TUDS,也就是变成了 SDUTTUDSt2*n='0'加上结束标志puts(t); 输出 t 数组 SDUTTUDS三、补充程序(18分,每小题6分)1.完成两个变

8、量值的交换(例如输入3 4,则输出43)。#include <stdio.h>void swap()void main()inta,b;scanf("%d%d”,&a,&b);由此地方可知,上面的函数需要用到指针,用到指针则需要第三个变量3.读入一个字符串,将该申中所有字符按照ASCII升序排序输出。#include <stdio.h>#include <string.h> main()char c,s80;inti,j;gets(s);printf("排序结果:%s",s);puts(t);四、编程序(40分,

9、每小题10分)1 .从键盘输入年份和月份,求出该月份的天数并输出。可参考书上例题2 .从键盘输入某个班级同学的 C语言课程的成绩,输出最高分和 最低分。数组,冒泡法或者选择法排序3 .从键盘输入一行字符,分别统计其中字母、数字和其它字符的 个数。可能用到switch 语句,自己ascii码(仅供参考)4 .编写一个函数,删除给定字符串中所有的某个指定字符。函数原型:void dele(char s口,char ch)printf("%d %dn",a,b);2.选出能被3整除且至少有一位是5的两位数,输出所有 这样的数及其个数。#include <stdio.h>sub (intk,int n )能被3整除,则需要先判断个位十位加起来是否为3的倍数,然后再判断数字中是否含有5,需要用到if嵌套求出个数还需要用到n自加主函数没有输出所有数的

温馨提示

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

评论

0/150

提交评论