2015五邑大学C语言编程题
- 格式:doc
- 大小:37.00 KB
- 文档页数:2
试卷号:TSheet1一、选择题1、C语言源程序文件的扩展名一般为______ 。
(A) .txt(B) .c(C) .obj(D) .exe2、以下选项中合法的用户标识符是_____ 。
(A) long(B) _2Test(C) 3Dmax(D) A.dat3、以下选项中,_____ 不是C语言的保留字(关键字)。
(A) printf(B) short(C) if(D) sizeof4、下列选项中合法的变量名是_____ 。
(A) x(1)(B) y.1(C) 3y (D) _xyz5、下面各选项中,属于非法的C语言整型常量的是_____ 。
(A) 01(B) 0x11(C) 081(D) -327656、以下不合法的常量是_____ 。
(A) 2.7(B) 1.0E+3(C) 3.5E-3.0(D) 3.4e-57、下列字符常量的写法中,正确的是_____ 。
(A) '\082'(B) "ab"(C) '\t'(D) '\4f '8、下列各组中全是字符串常量的是_____ 。
(A) '123' , "456" , "789"(B) 'abc' , 'xyz' , '5'(C) "a+b" , "1+2=5" , "china"(D) '\n' , "1+2=3" , "aaa"9、已知字符A的ASCII码是65,字符a的ASCII码是97,则'\101'表示的字符常量是____ 。
(A) 字符A(B) 字符B(C) 字符e(D) 非法常量10、在C语言中,char型数据在内存中的存储形式是_____ 。
试卷号:TSheet5一、选择题1、执行完下列3条语句后,c指向______。
int a,b,*c=&a; int * p=c; p=&b;(A) p(B) c(C) b(D) a答案:D2、下列程序是要对两个整型变量的值进行交换。
以下正确的说法是_____。
int myswap(int p, int q) { int t; t=p; p=q; q=t;}int main(){ int a=10, b=20;myswap(&a,&b);return 0;}(A) 该程序完全正确(B) 该程序有错,只要将语句myswap(&a, &b); 中的参数改为a,b即可(C) 该程序有错,只要将myswap()函数中的形参p和q以及t均定义为指针(执行语句不变)即可(D) 以上说法都不正确答案:D3、若已定义:char s[10];则在下面表达式中不表示s[1]的地址的是_____。
(A) s+1(B) s++(C) &s[0]+1(D) &s[1]答案:B4、下面程序段中, for循环的执行次数是_____。
char *s="\ta\018bc"; for( ; *s!='\0'; s++) printf("*");(A) 9(B) 5(C) 6(D) 7答案:C5、以下不正确的字符串赋初值的方式是______。
(A) char *str = "string";(B) char *str; str = "string";(C) char str[ ] = {'s','t','r','i','n','g'};(D) char str[7] = {'s','t','r','i','n','g'};答案:C二、填空题1、若有以下定义和语句:int a[4]={0,10,20,30}, *p; p=&a[1]; 则++(*p)的值是________。
《C语言程序设计》习题参考答案习题 2二、选择题1. BCD2. B3. A4. D5. C6. C7. C8. C9. A 10. D 11. B 12. C 13. C 14. C 15. A 16. B 17. B 18. D 19. B 20. C 21. A 22. C 23. B三、填空题1. 多条分行书写2. ;(分号)3. /* */4. 编译5. 正确6. 正确7. 'b' 8. double9. 30 10. 10011. 2.5 12. (x+y)!=(a+b)13. (x>2&&x<3)||x<-10 14. 015. x值为10 ,y值为15 ,z值为10 。
16. 6四、用C语言的表达式描述下列命题1. 假设一个int型的单数字数码存储在变量n中,则转换为对应的数字字符的表达式是n+'0'2. a>d||b>d3. x=int(x*100+0.5)/100.04. d<100&&!(d%2)5. (!x%5)||(!y%5)26. (n%k==0)?(n/k):(n/k+1) 或(n%k)?(n/k+1):(n/k)习题 3二、选择题1. B2. D3. D4. C5. A6. A7. C8. B9. C (k的存储空间有限,溢出后出现负)三、填空题1. 输出2行:**1**2. 36**3**3. x*2+y*4==90 或……4. ********# (8个*)5. (c=getchar())!='#' c>='0'&&c<='9'6. i<=9 j%3!=07. j=1 k<=6习题 4二、选择题1. B2. D3. A4. D5. D6. B7. C8. C9. B三、填空题1. 函数首部(函数头)函数体2. 声明语句执行语句3. main() main()4. 不正确5. 主调被调6. 动态/静态静态/动态7. void float8. i=7 , j=6 , x=73 i=2 , j=7 , x=59. int isLeap(int) ; //函数声明isLeap(year)intyear%4==0&&year%100!=0||year%400==010. j=1 ; y>=1 ; y--11. 15, 12, 2012. 817习题 5二、选择题1. A2. C3. D4. B5. C6. C三、填空题1. 输出结果是a[1]=6a[2]=9a[3]=9 2. ①若给x输入5,②若给x输入15, 输出结果是15 10 8 6 4 2③若给x输入10, 输出结果是10 10 8 6 4 23. i 或--j MAX-1-i 或ii //0行置10 //0列置1i-- i4i-- MAX-1MAX-1MAX-1 !(i==j||(i+j)==(MAX-1)) 或i!=j&&(i+j)!=(MAX-1)printf("\n");4. 去掉字符串尾部空格5. SWITCH*#WaMP*习题 6二、选择题1. D2. D3. B4. A5. C6. A7. D8. D9. C 10. C三、填空题1. 112. 103. 12 124. 数组s[1]5. 将数字字符串转换为整型数据6. 分行输出其中的5个单词7. i 或i+1 8. *(a+i)a+j <*(a+i)+j9. #9 10. p1++*p2return p11. 15 习题7一、选择题1. A/B2. A/B3. B4. D5. A6. B7. A二、填空题1. zhang m 192. 63. unionscanf("%c",&stu[i].body.eye)scanf("%d%d",&stu[i].body.f.length,&stu[i].body.f.weight习题8二、选择题1. B2. A3. CD4. D5. C6. B7. C8. B。
单项选择==================================================题号:1482执行以下程序段后,输出结果和a的值是()。
int a=10; printf("%d",a++);A、11 和 10B、11 和 11C、10 和 11D、10 和 10答案:C题号:2100已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'.执行语句printf("%d,%d",c1,c2-2);后,输出结果是A、65,66B、A,BC、65,68D、A,68答案:A题号:5055相同结构体类型的变量之间,可以()。
A、比较大小B、地址相同C、赋值D、相加答案:C题号:3217int a[10];合法的数组元素的最小下标值为()。
A、1B、0C、10D、9答案:B题号:45能正确表示逻辑关系:" a≥10或a≤0 "的C语言表达式是A、a>=0 | a<=10B、a>=10 or a<=0C、a>=10 && a<=0D、a>=10 || a<=0答案:D题号:157main(){int x=1,a=0,b=0;switch (x){ case 0: b++;case 1: a++;case 2: a++;b++;} printf("a=%d,b=%d",a,b); }该程序的输出结果是( )A、2,2B、2,1C、1,1D、1,0答案:B题号:4784设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为()。
A、不确定B、doubleC、intD、float答案:B题号:1647以下程序中,while循环的循环次数是______main(){int i=0;while(i<10){if(i<1) continue;if(i==5) break;i++;}}A、死循环,不能确定次数B、6C、4D、1答案:A题号:191若有说明语句:char c='\72';则变量c()。
C语言经典程序100题(答案版)【程序1】题目:企业发放的奖金根据利润提成。
利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?1.程序分析:请利用数轴来分界,定位。
注意定义时需把奖金定义成长整型。
2.程序源代码:1.#include"stdio.h"2.#include"conio.h"3.main()4.{5.long int i;6.int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;7.scanf("%ld",&i);8.bonus1100000*0.1;9.bonus2bonus1+100000*0.75;10.bonus4bonus2+200000*0.5;11.bonus6bonus4+200000*0.3;12.bonus10bonus6+400000*0.15;13.if(i<100000)14.bonus i*0.1;15.else if(i<200000)16.bonus bonus1+(i-100000)*0.075;17.else if(i<400000)18.bonus bonus2+(i-200000)*0.05;19.else if(i<600000)20.bonus bonus4+(i-400000)*0.03;21.else if(i<1000000)22.bonus bonus6+(i-600000)*0.015;23.else24.bonus bonus10+(i-1000000)*0.01;25.printf("bonus%d",bonus);26.getch();27.}【程序2】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。
30%:15小题,每小题2分)1.以下叙述正确的是()。
A) 在C程序中,main函数必须位于程序的最前面。
B) C语言的每一行中只能写一条语句。
C) C语言本身没有输入输出语句。
D) 一个程序的执行是从本程序的main函数开始,到本程序文件的最后一个函数结束。
2.若有说明:int a[10]; 则对a 数组元素的正确引用是()。
A)a[10] B)a[3.5] C)a(5) D)a[10-10]3.下面关于"A"的说法正确的是()。
A)它代表一个字符常量 B)它代表一个字符串常量C)它代表一个字符 D)它代表一个变量4.若用数组名作为函数调用的实参,传递给形参的是( )。
A)数组的首地址 B)数组第一个元素的值C)数组全部元素的值 D)数组元素的个数5.以下选项中属于C语言数据类型的是()。
A)复数型B)记录型C)双精度型D)集合型6.设a=5,b=6,c=7,d=8,m=2,n=2, 则执行(m=a>b)&&(n=c<d)后n的值是( ) 。
A)1 B)2 C)3 D)47.对于while语句,错误的说法是()。
A)用条件控制循环体的执行次数B)循环体至少要执行一次C)循环体有可能一次也不执行D)循环体中可以包含若干条语句8.设a=10、b=12,则printf("%d",(a>b)?a:b); 则输出结果是( )。
a t i m9.可判断变量 a 为正,b 为负的正确表达式是 ( )。
A ) a*b <0B ) (a>0||b >0)&&a*b <0C ) (a<0||b<0)&&a*b <0D ) a>0&&a*b<010.在C 语言中要求参加运算的数必须是整数的运算符是( )。
A ) /B ) ! C ) % D ) = =11.下列程序段中while 循环体执行的次数是( )。
2022年五邑大学公共课《C语言》科目期末试卷B(有答案)一、填空题1、已有定义int a;float b,x;char cl,c2;为使a=3、b=6.5、x=12.6、cl='a'、c2='A',正确的scanf函数调用语句是_______,数据输入的形式应为_______。
2、结构化程序由________、________ 、________ 3种基本结构组成。
3、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是4、若有定义语句:charc='\010';则变量c中包含的字符个数为_______。
5、C语言中的标识符只能由3种字符组成,它们是_______、_______和_______6、在C语言中,&运算符作为单目运算符时表示的是_______运算;作为双目运算符时表示的是_______运算。
7、函数swap(arr,n)可对arr数组从第1个元素到第n个元素分别进行两两元素交换。
在运行调用函数中的如下语句后,a[o]和a[1]的值分别为_______,原因是_______。
a[0]=1;a[1]=2;swap(a,2);8、下面程序段的运行结果是_______。
int i=5;char c[6]="abcd";do{c[i]=c[i-1];}while(--i>0);puts(c);9、下面程序段的运行结果是_______。
char ch[]="600";int a,s=0;for(a=0;ch[a]>= '0'&&ch[a]<='9';a++)s=10*s+ch[a]-'o';printf("%d",s);10、以下程序段通过指针变量q,但不移动q,将如图所示连续动态存储单元的值,从第一个元素起依次输出到终端屏幕。
第3章:三种控制结构程序1、有一个函数: x (x<1)y= 2x-1 (1≤x <10)3x-11 (x ≥10)编写程序,输入x 的值,输出相应的y 值(x ,y 均为小数)。
2、输入一百分制成绩(整数),要求输出对应的等级:’A ’、’B ’、’C ’、’D ’、’F ’。
成绩大于或等于90分对应的等级为’A ’,80~89分等级为’B ’,70~79分等级为’C ’,60~69分等级为’D ’,小于60分等级为’F ’。
3、用公式:!1!31!21!111n e +⋯++++=+…,求自然数e 的近似值,直到发现某一项小于10-6为止(该项不累加)。
4、有一个分数系列:12,23-,35,58-,813,1321-,…,求出这个数列的前20项之和(结果是:0.577922)。
5、一张100元票面的纸钞兑换成10元、20元或50元的票面,问共有多少种不同的兑换方法?第4章 函数1、一个自然数如果恰好等于它的真因子(即除了自身以外的约数)之和,这个自然数就称为“完全数”。
例如,6的因子为1、2、3,而6=1+2+3,因此6是一个完全数。
编写一个判断完全数的函数,然后在main()函数中调用该函数,输出1000以内的所有完全数。
同类问题:(1)一个自然数如果它的真因子(即除了自身以外的约数)之和,比该数本身大,这个自然数就称为“盈数”。
例如,12的因子为1、2、3、4、6,其和是16,比12本身大,因此12是一个盈数。
编写一个判断盈数的函数,然后在main()函数中调用该函数,输出30以内(包括30)的所有盈数。
(2)一个自然数如果它的真因子(即除了自身以外的约数)之和,比该数本身小,这个自然数就称为“亏数”。
例如,10的因子为1、2、5,其和是8,比10本身小,因此10是一个亏数。
编写一个判断亏数的函数,然后在main()函数中调用该函数,输出[10,30]区间的所有亏数。
2、编写一个计算等差数列和的函数int sum(int begin, int end, int D_value ),并在main()函数中调用该函数,计算2+5+8+……+59的值。
五邑大学2015年通信工程(计算机通信网络)专业本科插班生招生考试《C 语言程序设计》试题考试形式为闭卷、笔试。
考试时间为120分钟,试卷满分为100分。
一 判断题,正确划√,错误划×。
(每题1分,共10分)1.C 语言的源程序不必通过编译就可以直接运行。
( × )2.在C语言中用到的任何一个变量都要规定其类型。
( √ ) 3.C语言的标识符只能使用字母、数字和下划线三类字符,且第1位不能是数字字符。
( √ )4.continue 语句用在循环体中,可使整个循环不结束。
( × )5.静态局部变量只在本函数内可用。
( √ )6.在do-while 循环中,任何情况下都不能省略while 。
( √ )7.char *p="girl";的含义是定义字符型指针变量p ,p 的值是字符串"girl"。
( × )8.用fopen("file","r+"); 打开的文件"file"不能修改。
( × )9.一个共用体变量只能存放其中一个成员的值。
( √ )10.在不出现溢出的情况下,将一个数左移n 位,相当于给它扩大2n 倍。
( √ )二 单项选择题,错选、漏选、多选不得分。
(每题2分,共40分)1.下面关于"A"的说法正确的是( B )。
A ) 它代表一个字符常量B ) 它代表一个字符串常量C ) 它代表一个字符D ) 它代表一个变量2.若以下选项中的变量已正确定义,则正确的赋值语句是( C )。
A ) x1=26.8%3 ;B ) 1+2=x2 ;C ) x3=0x12 ;D ) x4=1+2=3;3.为表示关系x ≥y ≥z ,正确C 语言表达式是( A )。
A ) (x>=y)&&(y>=z)B ) (x>=y) AND (y>=z)C ) (x>=y>=z)D ) (x>=z)&(y>=z)4.设 a=5,b=6,c=7,d=8,m=2,n=2, 则执行 (m=a>b)&&(n=c<d)后n 的值是( B ) 。
第3章:三种控制结构程序
1、有一个函数: x (x<1)
y= 2x-1 (1≤x <10)
3x-11 (x ≥10)
编写程序,输入x 的值,输出相应的y 值(x ,y 均为小数)。
2、输入一百分制成绩(整数),要求输出对应的等级:’A ’、’B ’、’C ’、’D ’、’F ’。
成绩大于或等于90分对应的等级为’A ’,80~89分等级为’B ’,70~79分等级为’C ’,60~69分等级为’D ’,小于60分等级为’F ’。
3、用公式:!
1!31!21!111n e +⋯++++=+…,求自然数e 的近似值,直到发现某一项小于10-6为止(该项不累加)。
4、有一个分数系列:12,23-,35,58-,8
13,1321-,…,求出这个数列的前20项之和(结果是:0.577922)。
5、一张100元票面的纸钞兑换成10元、20元或50元的票面,问共有多少种不
同的兑换方法?
第4章 函数
1、一个自然数如果恰好等于它的真因子(即除了自身以外的约数)之和,这个自然数就称为“完全数”。
例如,6的因子为1、
2、3,而6=1+2+3,因此6是一个完全数。
编写一个判断完全数的函数,然后在main()函数中调用该函数,输出1000以内的所有完全数。
同类问题:
(1)一个自然数如果它的真因子(即除了自身以外的约数)之和,比该数本身大,这个自然数就称为“盈数”。
例如,12的因子为1、2、3、4、6,其和是16,比12本身大,因此12是一个盈数。
编写一个判断盈数的函数,然后在main()函数中调用该函数,输出30以内(包括30)的所有盈数。
(2)一个自然数如果它的真因子(即除了自身以外的约数)之和,比该数本身小,这个自然数就称为“亏数”。
例如,10的因子为1、2、5,其和是8,比10本身小,因此10是一个亏数。
编写一个判断亏数的函数,然后在main()函数中调用该函数,输出[10,30]区间的所有亏数。
2、编写一个计算等差数列和的函数int sum(int begin, int end, int D_value ),并在main()函数中调用该函数,计算2+5+8+……+59的值。
3、编写一个函数,该函数的功能是将一个整数反转为一个新的整数,例如:原数为-2389,反转后为-9832。
然后在main()函数中调用测试该函数。
4、下列给定程序中,函数fun 的功能是:计算函数f(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)
的值。
其中x和y不相等,z和y不等。
例如,当x的值为9,y的值为11,z 的值为15时,函数值为-3.5。
第5、6章数组与指针
1、任意给出10个整数,编程使其中的最后m个数变成最前面的m个数(m<10),要求m在程序运行时才给出。
例如:输入的10个数及其顺序为:7 8 20 56 34 3 44 81 41 67,当m=3时,则输出时的顺序为:81 41 67 7 8 56 20 34 3 44
2、从键盘上输入10个评委的分数,去掉一个最高分,去掉一个最低分,求出其余8个人的平均分。
要求输出平均分、最高分、最低分。
3、输入一个整数,并在已排好升序的数组中查找该数是否存在,如果没有该数,则将其插入到数组中,并输出新的升序数组。
4、编写函数int fun(char str1[], char str2[])或int fun(char *str1, char *str2),该函数的功能是:比较两个字符串str1和str2,将两个字符串中第一个不相同字符的ASCII码值之差作为函数值返回。
【不得使用系统函数strcmp()】
5、编写函数void fun(char str[], char sc, char dc)或void fun(char *str, char sc, char dc),该函数的功能是:将字符串str中出现的字符变量sc的字符全部替换成dc的字符。
例如:将"ababcaaa"中的'a'字符全部替换为'Y',结果是"YbYbcYYY"。