C语言程序设计课程C语言上机考试题—2014
2014 C程序设计 试卷A

湖南农业大学、怀化学院、吉首大学C/C++程序设计课程三校联考试卷课程名称:C/C++程序设计 试卷号: A 考核学期:2014年秋季考核对象:2014级计科、网络、电子、通信、电气专业1. 下面合法的C 语言字符常量是( ). A) '\t' B) "A" C) 65 D) A2. C 语言程序的基本单位是( ).A) 语句 B) 函数 C) 字符 D) 程序行 为表示关系x ≥y ≥z,应使用C 语言表达式( ). A) (x>=y)&&(y>=z) B) (x>=y)AND(y>=z) C) (x>=y>=z)D) (x>=y) & (y>=z) 4. C 语言中非空的基本数据类型包括( ). A) 整型,实型,逻辑型B) 整型,实型,字符型C) 整型,字符型,逻辑型 D) 整型,实型,逻辑型,字符型 5.C 语言中的变量名的第一个字符( ).A) 必须为字母 B) 必须为下划线C) 必须为字母或下划线D) 可以是字母,数字或下划线中的任意一种一、单项选择题(本大题共20分,每小题2分)6. 设有说明: char w; int x; float y; double z; 则表达式: w*x+z-y 值的数据类型是( ). A) float B) char C) int D) double7. 一个C 语言的执行是( ).A) 从本程序的主函数开始,到本程序的主函数结束B) 从本程序的第一个函数开始,到本程序的最后一个函数结束 C) 从本程序的主函数开始,到本程序的最后一个函数结束 D) 从本程序的第一个函数开始,到本程序的主函数结束 8. 下列说法中正确的是( ).A) sizeof (char) 是结果为整型的表达式 B) sizeof (char) 是一个不合法的表示形式 C) sizeof (char) 是一种函数调用 D) sizeof (char) 是结果为实型的表达式 9. 以下叙述正确的是 ( ).A) do-while 语句构成的循环不能用其它语句构成的循环来代替。
2014C语言程序设计(含答案)

一、写出下列程序段的运行结果(40分)1.(4分)char a= 'F'-'E',b= '\12',c=12,d;c = a<b<c;d =--a&& b++;printf("%d,%d,%d,%d",a,b,c,d);2.(4分)int a=2, b=5;printf("a=%%d,b=\\d,");b/=a;a+=a-b;printf("%d,%d",a,b);3.(4分)char a=256;printf("%d,",a++);a=(int)(13/5+1.4);printf("%d",a);4.(4分)int p[8]={11,12,13,14,15,16,17}; int i=0,j=0;while (i++<7) (第一次循环i=1)if (p[i]%2) j+=p[i];printf("%d\n",j);5.(4分)int a=3,b=5;void exchange(int a, int b){int t;t=a; a=b; b=t;printf("%d,%d\n", a, b);} int main(){exchange(a,b);printf("%d,%d\n",a,b);return 0;}6.(4分)void f(char ch){if (ch>'A'){f(ch-1);}putchar(ch);}int main(){f('D');return 0;}7.(4分)char str[10]="123456789"; int i;for (i=9; i>0; i/=2){str[i]=0;printf("%s\n",str);}8.(4分)struct {int x; int y; int z;}a[3] ={1,2,3,4,5,6,7,8,9};printf("%d,%d\n", a[1].x+a[2].y, a[1].y+a[2].z);9.(4分)int a[8]={1,2,3,4,5,6,7,8};int i=1, *p = a;while (p<a+8){p rintf("%d ",*p);p = p+i;i*=2;} 10.(4分)FILE *fp;int d=20150111;char c1,c2;char str[4];fp=fopen("a.tmp","w");fprintf(fp,"%d", d);fclose(fp);fp=fopen("a.tmp","r");c1=fgetc(fp);fgets(str, 4, fp);c2=fgetc(fp);fscanf(fp, "%d", &d);printf("%c,%s,%c,%d",c1,str,c 2,d);二、改错题(20分)以下程序实现:从键盘输入20个学生的成绩数据,将这些数据存到磁盘文件“stu.dat”上,并求这些学生的最差成绩。
aa《C程序设计》课程期末上机考试

aa《C程序设计》课程期末上机考试考试时间:50分钟考试方式:从下面的20题中随机抽取一题,再附加一题,共需完成2道题。
附加题不事先给定分值分配:第一题60分,第二题40分,共100分考试时间:第十七周周二与周三,2014年6月24、25号1. 编写函数long fun(long x),它的功能是:将长整型参数x中每一位上为偶数的数依次取出,构成一个新数返回。
高位仍在高位,低位仍在低位。
例如:下面程序运行时输入:124578902,程序输出:24802.#include<stdio.h>long fun(long x){int n=10,m=0;while (x){int t=x%10;if(t%2==0){m+=t*n/10;n*=10;}x/=10;}return m;}void main(){long a,b;printf("Enter a number:");scanf("%ld",&a);b=fun(a);printf("b=%ld\n",b);}2. 编写函数void fun(int k,int *p),功能是:将参数k(2≤k≤32767)所有的不相同质因子升序写入p所指的一维数组中,以-1作为所有质因子的结束标志。
例如:下面程序运行时若输入200,输出:2 5;若输入27720,输出:2 3 5 7 11;若输入101,输出101。
#include<stdio.h>void fun(int k,int *p){ int j=2,n=0;do{ if (k%j==0){ p[n]=j;n++; }while(k%j==0){ k=k/j; }j++; }while (j<=k);p[n]=-1; }int main(){ int x,a[17],i;do{ printf("Enter a number(2-32767):");scanf ("%d",&x); }while(x<2);for(i=0;a[i]!=-1;i++)printf("%d ",a[i]);printf("\n"); }3. 编写函数void fun(int *x,int n),功能是:求出长度为n的数组x中的最大数与次最大数,并把最大数和a[0]对调,次最大数与a[1]对调,其余的数保持不变。
2014年本科插班生考试《C语言程序设计》课程试卷

韩山师范学院2014年本科插班生考试试卷教育技术学专业 C语言程序设计试卷(A卷)一、填空题(每空1分,共10分)1.C语言的标识符必须以________或________开头。
2.C语言程序的执行是从________函数开始。
3.fgets函数的作用是从指定文件读入一个________。
4.表达式13%10的结果是________。
5. 若有定义:int a[3][5];则数组a中共有________个元素。
行下标的下界是________,行下标的上界是________。
6. 若x=3,y=2,则 x|y<<2的结果是___________。
7.数据的输入输出是针对________而言的。
1. 一个C程序的执行是从__________A.main()函数开始,直到main()函数结束B.第一个函数开始,直到最后一个函数结束C .第一个语句开始,直到最后一个语句结束D .main()函数开始,到最后一个函数结束 2. 一个C 程序是由__________。
A .一个主程序和若干子程序组成 B .一个或多个函数组成 C .若干过程组成D .若干子程序组成3. 下面不正确...的字符串常量是_________。
A. 'abc'B. "12'12"C. "0"D. " "4.以下结果为整数的表达式(设有int i;char c;float f;)_________ A.i+fB.i*cC.c+fD.i+c+f5. 设char ch;以下正确的赋值语句是_________ A.ch= '123’; B.ch= '\xff ’; C.ch= '\08’;D.ch=”\”;6. 设int m=1,n=2,则m=n 的值是_________ A.0B.1C.2D.37. 如下程序的执行结果是_________main() {int n=1,m=2;printf("%d %d ",++n,m++);} A.2 1B.1 2C.2 2D.1 18. 设int a=1,b=2,c=3; 则表达式a==c||a+b>=c 的值是__________ A. F B. 0 C. 1 D. T9. C 语言对嵌套if 语句的规定是:else 总是与 __________ 配对。
2014年试题

2014(一) 程序设计(50分)一、单项选择题(共计20分,每小题2分)1.C 语言程序设计是一种( )A 、机器语言B 、汇编语言C 、高级语言D 、英语 2.C 语言程序的基本单位是( )A 、程序行B 、字符C 、语句D 、函数3.C 语言程序的三种基本结构是( )A 、顺序结构,选择结构,循环结构B 、递归结构,循环结构,转移结构C 、嵌套结构,递归结构,顺序结构D 、循环结构,嵌套结构,顺序结构4.下列运算符中优先级最高的是( )A 、<B 、&&C 、+D 、!=5.与数学式子129 x x n对应的C 语言表达式是( ) A 、9*x^n/(2*x-1) B 、9*x**n/(2*x-1)C 、9*pow(x,n)/(2*x-1)D 、9*pow(n,x)/(2*x-1)6.有如下程序,写出其执行结果( )#inc lude ”stdio.h”main(){float x=2.0, y;if (x<0.0)y=0.0;else if (x<10.0)y=1.0/x;else y=1.0;printf(”%f\n”,y);}A、0.000000B、0.250000C、0.500000D、1.00000047.如下程序段执行时()x=-1;do{ x=x*x;}while (!x);A、循环体将执行一次B、循环体将执行两次C、循环体将执行无数多次D、系统将提示有语法错误8.执行下面语句的输出为()int i =10;if(i<=0)printf(“* * * *\n”);elseprintf(“$ $ $ $ \n”);A、* * * *B、$ $ $ $C、$ $ $ $ cD、有错,执行不正确9.下列程序段的执行结果为()for(i=0;i<5;i++){for(j=0;j<i+1;j++)printf( "*");printf(“\n”);}10.若有说明:int i, j=2,*p=&i;,则能完成i=j赋值功能的语句是()A、i=*p;B、*p=*&j;C、i=&j;D、 i=**p;二、填空题(共计16分,每空2分)1.语句print(“%d”, 7%4); 的输出结果是:。
2014级公共《C语言程序设计》考试试卷B (1)

第 1 页 共 7 页5. 有输入语句:scanf(“a=%d,b=%d,c=%d ”,&a,&b,&c);为使变量 a 的值为1,b 的值为2,c 的值为3,则正确的数据输入方式是( )。
(↙表示回车) (A )123↙ (B )1,2,3↙ (C )a=1 b=2 c=3↙ (D )a=1,b=2,c=3↙6.已知字母A 的ASCII 码值为十进制的65,下面程序的输出结果是( )。
#include<stdio.h> main(){ char ch1,ch2;ch1='A'+'5'-'3'; ch2='A'+'6'-'3';printf(“%d,%c\n”,ch1,ch2); }(A )67,D (B )B,C (C )C,D (D )不确定的值 7. 为表示关系x ≥y ≥z ,应使用C 语言表达式( )。
(A )(x>=y)&&(y>=z) (B )(x>=y)AND(y>=z) (C )(x>=y>=z) (D )(x>=y) & (y>=z)8. 设有数组定义:char array[]=“China ”;则数组array 所占的存储空间为( )。
(A )4个字节 (B )5个字节 (C )6个字节 (D )7个字节 9. 以下程序的输出结果是( )。
#include<stdio.h> main(){ int x=1,a=0,b=0; switch(x){ case 0:b++;case 1:a++;case 2:a++;b++;}printf(“%d,%d”,a,b);}(A)2,1 (B)1,1 (C)1,0 (D)2,210. 若k为整型变量,则下列while循环执行的次数为()。
2014综合测试试题(C语言)2

C 语言课程考试试卷课程名称:《C 语言程序设计》年级: 班级:姓名:_______________ 学号:_________________ 考试(考查) 闭卷选择题(每题2分,共计100分)1. 以下叙述正确的是( )A) 在C 程序中,main 函数必须位于程序的最前面 B) C 语言的每一行中只能写一条语句 C) C 语言本身没有输入输出语句D) 在对一个C 语言进行编译的过程中,可发现注释中的拼写错误 2. 不属于字符型常量的是__________。
A) 'B' B) 'C' C) '\n' D) P3. 判断 char 型变量ch 是否是大写字母的正确表达式是_________。
A) 'A'<=ch<='Z' B) (ch>=‘A')&(ch<='Z') C) (ch>='A')&&(ch<=‘Z') D) ('A'<=ch)AND('Z'>=ch)4. 若有说明: int a[10]; 则对 a 数组元素的正确引用是________。
A) a[10] B)a[3.5] C) a(5) D) a[10-10]5. 以下二维数组 a 的正确说明是________。
A) int a[1,1]; B) float a(3,4); C) double a[1][4]; D) float a(3)(4);6. 设有: int a=2,b=3,c=7,d=8,m=3,n=3; 执行 (m=a>b)&&(n=c>d) 后的 n 值为_________。
A) 0 B) 1 C ) 2 D) 37. 已知 int x=10,y=20,z=30; 以下语句执行后, x 、y 、z 的结果是。
C语言上机程序设计题库及答案

C语言上机程序设计题库【程序设计】功能:根据整型形参m,计算如下公式的值:y=sin(m)*10。
【参考代码】double y=0;y=sin(m)*10;return(y);功能:若x、y为奇数,求x到y之间的奇数和;若x、y为偶数,则求x到y之间的偶数和。
【参考代码】int i,s=0;for(i=x;i<=y;i+=2)s=s+i;return s;功能:编写程序,实现矩阵(3行3列)的转置(即行列互换)【参考代码】int i,j,t;for(i=0; i < 3; i++)for(j=0; j < i; j++){ t=array[i][j];array[i][j]=array[j][i];array[j][i]=t; }功能:求一个四位数的各位数字的立方和。
【参考代码】int d,s=0;while (n>0){d=n%10;s+=d*d*d;n/=10;}return s;功能:请编一个函数void fun(int tt[M][N],int pp[N]), tt指向一个M行N列的二维数组,求出二维数组每列中最小元素,并依次放入pp所指一维数组中。
二维数组中的数已在主函数中赋予。
【参考代码】int i,j;for(j=0;j<N;j++){pp[j]=tt[0][j];for(i=1;i<M;i++)if(tt[i][j]<pp[j])pp[j]=tt[i][j];}功能:求一组数中大于平均值的数的个数。
【参考代码】int i,k=0;float s=0,ave;for(i=0;i<n;i++)s+=a[i];ave=s/n;printf("%f ",ave);for(i=0;i<n;i++)if(a[i]>ave)k++;return k;题目:分别统计字符串中字母、数字、空格和其他字符出现的次数(字符长度小于80)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、从键盘输入10个整数,对这10个数排序(由小到大)后输出。
2、从键盘输入10个整数,对这10个数排序(由大到小)后输出。
3、对于一个自然数,如果该数的所有因子之和正好等于该数,则该数称为完数。
统计1000以内的完数个数。
4、编写主函数和一个函数int diff(int year, int m1, int d1, int m2, int d2)。
(1)函数diff计算year年的m1月d1日至m2月d2日之间相隔的天数(假设m1<=m2);(2)主函数中输入某年的两个日期,调用diff函数计算它们之间相隔的天数,并输出。
5、编写主函数和一个函数void merge(int a[], int b[], int c[])。
要求是:(1)函数merge对两个已是升序的数组a、b进行归并,归并后的结果仍然是升序的,并通过形参c返回;(2)主函数:定义长度为5的数组a,并升序初始化;定义长度为8的数组b,并升序初始化;调用merge函数对数组a、b进行归并,输出归并结果。
6、从键盘输入一个0~99999之间的整数。
①判断它是一个几位数;
②将该数的各位数字按逆序输出。
7、输入一行字符,统计其中有多少个单词并输出,单词之间用空格符分隔开。
8、输入10个整数,判断它们是否为素数。
要求:编写一个函数int prime(int m)来判断形参变量m是否为素数,如果是素数则返回1,否则返回0。
9、输入10个学生的成绩,求平均成绩。
要求控制成绩输入的正确性,即控制输入的成绩必须为0~100分。
10、编写主函数和一个函数int monthDay(int year, int month)。
(1)函数monthDay 计算year年month月的天数,并返回;(2)在主函数中输入一个日期(年、月、日),计算该日是当年的第几天(说明:需要调用monthDay函数)。
11、写两个函数int gcd(int m, int n)和int lcm(int m, int n),分别求两个正整数m 和n的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果,两个正整数的值在主函数中从键盘输入。
12、有0、1、2、3、4五个数字,能组成多少个互不相同且无重复数字的三位数?并计算这些三位数之和。
13、输出2至1000之间的所有同构数,所谓同构数是指它出现在它的平方数的右端。
例如,5、6、25的平方分别等于25、36、625,所以5、6和25都是同构数。
14、编写一个函数,将一个数插入到已是升序的数组中,且插入后该数组仍是升序数组。
已是升序数组的内容由主函数给出,待插入的数在主函数中输入。
15、编写一个程序,查找某数是否在给定的升序数组中,如果在则输出“Find success!”并输出它是第几个数,否则输出“No find!”。
16、有4个学生,每个学生有5门课程的成绩,编写一个程序计算每一个学生5门课程的平均成绩。
17、有4个学生,每个学生有5门课程的成绩,编写一个程序统计每一个学生有几门不及格的课程。
18、有4个学生,每个学生有5门课程的成绩,编写一个程序计算每一门课程4个学生的平均成绩。
19、有4个学生,每个学生有5门课程的成绩,编写一个程序统计每一门课程有几个不及格的学生。
20、搬砖问题:36块砖,36人搬,男人每人搬4块,女人每人搬3块,小孩两人抬一块,要求一次搬完,问男、女、小孩各需多少人。
21、任何一个正整数m的立方均可表示为m个连续奇数之和。
例如:
13=1
23=3+5
33=7+9+11
编写一个程序求出组成m3的m个连续奇数,并输出求得的m个奇数。
22、编程求解数学题:send+more=money,其中每个字母代表一个数字,且不同
字母的数字各不相同。
该等式的答案为9567+1085=10652
23、编写一个程序模拟N个人参加选举的过程(N是一个符号常量),并输出选举结果。
假设有四个候选人,编号分别为1、2、3、4,参与投票的人按四个候选人的顺序直接输入投票,投票的要求是:同意的输入1,不同意的输入-1,弃权的输入0,例如,输入0 1 -1 1表示对1、2、3、4四位候选者分别投的是弃权、同意、反对、同意。
要求:(1)单独编写一个函数input(x),x对应实参是一个含4个元素的一维数组,实现输入一个选举人对四个候选人的投票结果(并通过x返回给主调函数),需要控制投票时对每一个候选人只能输入1、0、-1三个数,如果输入其它的数,则要求重输;(2)主函数通过调用input函数输入一个选举人的投票结果;(3)如果一张选票中同意的个数大于2则视为无效票;最后,分别输出有效票、无效票的张数,并输出所有候选人编号和其所得票数。
24、已知两个三位数abc、cba之和为n,其中a、b、c均为一位数,输入n值,求
出满足条件的a、b、c的所有组合,并输出它们。
25、编写程序实现将键盘输入的一行字符倒排输出。
如键盘输入”I love you”,
屏幕显示”uoy evol I”。
26、编写一个主函数和函数encrypt(str),要求是:(1)函数encrypt(str)对字符串str进行加密,并将加密后的的字符串返回主函数;(2)在主函数输入一个字符串,以该字符串作为参数调用encrypt函数,并输出该函数返回的加密字符串。
加密方法为:当内容为英文字母,按26个字母的顺序用其后面的第五个字母代替该字母;当内容为数字字符,用其除以3后的商和余数代替该数字;当内容为其他字符,不变。
例如:abc25xyz fgh0212bcd
27、编写一个函数ad(a, m, n)找出一个m行n列的二维数组a中的“鞍点”;在主
函数中输入二维数组的值,并将它作为实参调用ad函数。
所谓“鞍点”是指该位置上的元素在该行上最大,在该列上最小;一个二维数组中可能没有鞍点。
28n从键盘输入,不许使用sqrt(),pow()等c函数。
29、编写程序输出所有的水仙花数。
30、编写程序计算100之内的能够被3整除但不能被5整除的奇数和。
31、设计一个根据工资计算所得税的程序,以下计算规则为分区间累进计算。
工资税率
<=3000 0
(3000,5000] 5%
(5000,10000] 10%
(10000,30000] 20%
(30000,50000] 30%
(50000,100000] 40%
>100000 45%
32、将1~9共9个数字分成3组,分别组成三个三位数,且使这三个三位数构成1:2:3的比例,试编程求出所有满足条件的三个三位数。
例如192,384,576即满足条件。
33、找赛手:两只球队进行比赛,各出3人。
甲队为A、B、C三人,乙队为X、Y、Z三人,已经抽签决定比赛名单。
有人向队员打听比赛安排,A说他不和X比,C说他不和X、Z比,编程序找出3对赛手的名单。
34、猴子吃桃子问题。
猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,有多吃了一个。
第二天又吃了剩下的一半多一个,以后每天都吃了前一天剩下的一半多一个,到第十天发现只剩一个桃子,编程计算猴子第一天共摘下多少个桃子。
35、有4个1~10之间的数字(可重复),利用加减乘除四则运算把它们组合成24。
编写程序给出所有可能的解。