高级语言程序设计期末考试试卷及答案(+E卷)
- 格式:doc
- 大小:82.00 KB
- 文档页数:15
思想道德修养 思想道德修养 思想道德修养~ 学年度第二学期期末考试软件技术专业 级 C 语言程序设计 课程试题 (A )卷考 题 号 一 二 三 四 五 六 总分 场 : 分 数 考密 装 得分 评卷人 生 姓名 答:卷不封 订 得学 超生 证 过号: 此线线 线一、 选择题(20分,每小题2分)1.C 语言源程序的基本单位是( )。
A . 过程B . 函数C . 子程序D . 标识符 2. 定义int *swap()指的是( ) A .指一个返回整型值的函数swapB .指一个返回指向整型值指针的函数swapC .一个指向函数swap()的指针,函数返回一个整型值D .以上说法均错3.假设变量a,b 均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是( )。
A . 7 B . 8 C . 9 D . 2 4. C 语言中函数返回值的类型是由( )决定的。
A .return 语句中的表达式类型B .调用该函数的主函数类型C .定义函数时所指定的函数类型D .传递给函数的实参类型 5. 设有如下程序段,下面描述中正确的是( )。
int k=10; while(k=0) k=k-1;A . 循环执行一次B .循环是无限循环C .循环体语句一次也不执行D .循环体语句执行一次考场:考密装生姓名答:卷不封订得学超生证过号:此线线线考场:考密装生姓名答:卷不封订得学超生证过号:此线线线考场:考密装生姓名答:卷不封订得学超生证过号:此线线线C程序设计课程试题(A)卷答案一、选择题(20分,每小题2分)1.B 2.A 3.B 4.C 5.C 6.A 7.A 8.B 9.C 10.D二、判断对错(10分,每小题1分)1. √2.√3. ╳4. ╳5. ╳6. √7. ╳ 8. ╳ 9. √ 10. √三、填空题(16分,每小题2分)1.02.循环switch3.分号4.3405.12 306. struct enum7.文本文件(ASCII)二进制文件8. 4四、写出下列程序的运行结果(20分,每小题5分)1. e C pr*am2. 7 8 93. a=8 b=224. 6 7 8java9,basicjava五、阅读下列程序,在处填入适当内容,使程序完整。
高级语言程序设计一、选择题:(共20题,每题分,共30分)1. 下列四个选项中,均是合法的整型常量的选项是()A.160 –0XFFFF 011 B. -0XCDF 01A 0XE C. -01 986,012 0688 D. -0X48a 2e5 0x 2. 下列四个选项中,均是不合法的浮点数的选项是()A.160.e3 B. 123 .e5C.18 123e4 D. e3. 234 1e33. 合法的C语言字符常数是()A.'\t' B. "A"C.54 D. A4. 在C语言中,要求运算数一定是整型的运算符是()A./ B. ++C.!= D. %5. 字符串常量”mine”的字符个数是()A.4 B. 5C.6 D. 76. 以下属于非法的C语言转义字符的是()A.'\b' B. '0xf'C.'\037' D. '\'7. 若x、y、z均为int型变量,则执行以下语句后的输出是()x=(y=(z=10)+5)-5;printf("x=%d, y=%d, z=%d\n",x,y,z);y=(z=x=0,x+10);printf("x=%d, y=%d, z=%d\n",x,y,z);A. x=10, y=15, z=10B.x=10, y=10, z=10x=0, y=10, z=0x=0, y=10, z=0C.x=10, y=15, z=10D. x=10, y=10, z=10x=10, y=10, z=0 x=10, y=10, z=08. 在以下一组运算符中,优先级最高的运算符是()A.<= B. =C.% D. &&9. 已知:int x; float y; 所用的scanf调用语句格式为:scanf( “x=%d, y=%f”, &x, &y );为了将数据10和分别赋给x和y,正确的输入应当是()A.x=10, y=<回车> B. 10, <回车>C.10<回车><回车> D. x=10<回车>y= <回车>10. 已有如下定义的输入语句,若要求A1,A2,C1,C2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是()(注:□表示空格,<CR>表示回车)int a1, a2,;char c1, c2;scanf( “%d%c%d%c”, &a1, &c1, &a2, &c2 );A.10□A□20B<CR> B. 10□A□20□B<CR>C.10A20B<CR> D. 10A20□B<CR>11. 能正确表达:“当x取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是()A.(x>=1) && (x<=10) && (x>=200) && (x<=210)B. (x>=1) || (x<=10) || (x>=200) || (x<=210)C.(x>=1)&&(x<=10) || (x>=200)&&(x<=210)D. (x>=1) || (x<=10)&&(x>=200) || (x<=210)12. 假定所有变量均已正确说明,下列程序段运行后x的值是()a=b=c=0; x=35;if(!a) x--;else if (b);if(c) x=3;else x=4;A.34 B. 4C.35 D. 313. 若变量c为char类型,能正确判断出c为大写字母的表达式是()A.'A'<=c<= 'Z' B. (c>= 'A')||(c<= 'Z')C.('A'<=c)and ('Z'>=c) D. (c>= 'A')&&(c<= 'Z') 14. 若给定条件表达式:(!n) ? (c++) : (c--),则与表达式n等价的表达式是()A.n==0 B. n==1C.n!=0 D. n!=115. 已知:int a=4, b=5, c; 则执行表达式c=a=a>b后变量a的值为()A.0 B. 1C.4 D. 516. 定义int i=1; 执行语句while(i++<5); 后,i的值是()A.3 B. 4C.5 D. 617. 合法的数组说明是()A.int a[] = “string”; B.int a[] = { 0, 1, 2, 3, 4, 5 }; C.char a = “string”; D.char a[] = { 0, 1, 2, 3, 4, 5 };18. 当调用函数时,实参是一个数组名,则向函数传送的是()A.数组的长度 B. 数组的首地址C.数组每一个元素的地址 D. 数组每个元素中的值19. 函数调用:strcat(strcpy(str1,str2),str3)的功能是()A.将串str1复制到串str2中后再连接到串str3之后B. 将串str1连接到串str2之后再复制到串str3之后C.将串str2复制到串str1中后再将串str3连接到串str1之后D. 将串str2连接到串str1之后再将串str1复制到串str3中20. 已知:int a[]={1,2,3,4,5,6,7,8,9, *p=a; 则(*p) 的值是()A.1 B. 2C.3 D. a二、判断题:(共10题,每题1分,共10分)()1.C语言中能使用关键字作为标识符。
《高级语言程序设计(C)》期末考试试题一、选择题(本题共20道小题,共40分。
)1. 设x和y均为int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是A)把x和y按从大到小排列 B)把x和y按从小到大排列C)无确定结果 D)交换x和y中的值2. 下面程序的输出是void prtv(int *x){ printf("%d\n", ++(*x));}main(){ int a=25;prtv(&a);}A) 23 B) 24C) 25 D) 263. int x=10, y=20, z=30;if(x>y) z=x; x=y; y=z;以上语句执行后x, y, z的值是A) x=10,y=20,z=30B) x=20,y=30,z=30C) x=20,y=30,z=10D) x=20,y=30,z=204. 设有以下宏定义:#define N 3#define Y(n) ((N+1)*n)则执行语句:z=2 *(N+Y(5+1))后,z的值为A)出错 B)42 C)48 D)545. 逻辑运算符两侧运算对象的数据类型是()。
A) 只能是0或1B) 只能是0或非0正数C) 只能是整型或字符型数据D) 可以是任何类型的数据6. 当执行以下程序段时x=-1;do { x=x*x;}while(!x);A)循环体将执行一次 B)循环体将执行两次C)循环体将执行无限次 D)系统将提示有语法错误7. int x=3;do{ printf("%3d",x-=2);}while(!(--x));以上程序段的输出结果是A) 1 B) 3 0 C) 1-2 D) 死循环8. main(){int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k); }以上程序段的输出结果是A)k=11,k=12,k=11 B)k=11,k=13,k=13C)k=11,k=013,k=0xb D)k=11,k=13,k=b9.以下程序的输出结果是()。
一、单项选择题1.下列字符串不是C语言标识符的是 D 。
A._above B.all C.long_int D.2Line2.C语言中,下列不能用来表示整型常数的进制是 D 。
A.十进制B.八进制C.十六进制D.二进制3.以下选项中,非法的字符常量是 C 。
A.‟\t‟B.‟a‟C.“n ” , D.‟\xaa‟4.设有语句int a=3; 则执行了语句a += a - = a*a ; 后,变量a 的值是 B 。
A.3 B.-12 C.9 D.05.若变量c为char 类型,能正确判断出c 为小写字母的表达式是 B 。
A.‟a‟ <= c <=‟z‟B.(c>=‟a‟) && (c<=‟z‟ )C.(c>=‟a‟) !! (c<=‟z‟ ) D.(c>=‟a‟) and (c<=‟z‟ )6.设有定义:int x=10, y=3, z ;则语句printf ( “ %d ” , z= ( x%y, x/y ) ); 的输出结果是 A 。
A.3 B.0 C.4 D.17.以下选项中,与k = n++ 完全等价的表达式是 A 。
A.k=n, n=n+1 B.n=n+1, k=n C.k= ++n D.k += n+18.下面的do_while ( ) 循环 C 。
int m= -1;do{ m=m*m; } while ( !m ) ;A.共执行2次B.是无限循环C.共执行1次D.有语法错误9.下面语句定义正确的是 D 。
A.int a[1][4]={1,2,3,4,5} ; B.float x[ ][ ]={{1},{2},{3}} ;C.long b[2][3]={{1}, {1,2},{1,2,3} } ; D.double y[][3]= {0,1,2,3 } ;10.对表达式for ( e1 ; ; e3 ) 可理解为 B 。
高级语言及程序设计试卷与答案高级语言程序设计一、选择题:(共20题,每题1.5分,共30分)1. 下列四个选项中,均是合法的整型常量的选项是()A.160 –0XFFFF 011 B. -0XCDF 01A 0XE C. -01 986,012 0688 D. -0X48a 2e5 0x 2. 下列四个选项中,均是不合法的浮点数的选项是()A.160.0.12 e3 B. 123 2e4.2 .e5C.18 0.0 123e4 D. e3. 234 1e3 3. 合法的C语言字符常数是()A.'\t' B. "A"C.54 D. A4. 在C语言中,要求运算数一定是整型的运算符是()A./ B. ++C.!= D. %5. 字符串常量”mine”的字符个数是()A.4 B. 5C.6 D. 76. 以下属于非法的C语言转义字符的是()A.'\b' B. '0xf'C.'\037' D. '\'7. 若x、y、z均为int型变量,则执行以下语句后的输出是()x=(y=(z=10)+5)-5;printf("x=%d, y=%d, z=%d\n",x,y,z);y=(z=x=0,x+10);printf("x=%d, y=%d, z=%d\n",x,y,z);A. x=10, y=15, z=10B.x=10, y=10, z=10x=0, y=10, z=0x=0, y=10, z=0C.x=10, y=15, z=10D. x=10, y=10, z=10x=10, y=10, z=0 x=10, y=10, z=08. 在以下一组运算符中,优先级最高的运算符是()A.<= B. =C.% D. &&9. 已知:int x; float y; 所用的scanf调用语句格式为:scanf( “x=%d, y=%f”, &x, &y );为了将数据10和66.6分别赋给x和y,正确的输入应当是()A.x=10, y=66.6<回车> B. 10, 66.6<回车>C.10<回车>66.6<回车> D. x=10<回车>y=66.6 <回车>10. 已有如下定义的输入语句,若要求A1,A2,C1,C2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是()(注:□表示空格,表示回车)int a1, a2,;char c1, c2;scanf( “%d%c%d%c”, &a1, &c1, &a2, &c2 );A.10□A□20B B. 10□A□20□BC.10A20B D. 10A20□B11. 能正确表达:“当x取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是()A.(x>=1) && (x<=10) && (x>=200) && (x<=210)B. (x>=1) || (x<=10) || (x>=200) || (x<=210)C.(x>=1)&&(x<=10) || (x>=200)&&(x<=210)D. (x>=1) || (x<=10)&&(x>=200) || (x<=210)12. 假定所有变量均已正确说明,下列程序段运行后x的值是()a=b=c=0; x=35;if(!a) x--;else if (b);if(c) x=3;else x=4;A.34 B. 4C.35 D. 3。
一、选择正确的答案填写在空白处1. C语言规定C程序中的标识符是 C 组成的。
A) 由任意顺序的字符B) 仅由字母和数字C) 由字母、数字和下划线D) 由字母、数字作为首字符的任意字符串2.下列数据中 D 是C语言规定的合法数据常量。
A) 01010011B B) 0X37GF C)07182 D) 0X87AF3.C语言包括 C 种基本的程序结构。
A) 1 B) 2 C)3 D) 44. C语言中,printf(“%-8.2f\n”,a)要求输出的变量类型及格式要求为 B 。
A)整型数,右对齐B)浮点数,左对齐C)整型数,左对齐D)浮点数,右对齐5.在C语言中, C 为字符串的结束标志。
A) \t B) \n C) \0 D) \b6. B 全为双目运算符。
A)|| && ? B)+ >= || C)++ >= ! D)+ && &7. 执行复合语句{i=10;j=i--;}后,变量i和j的值为 B 。
A)10,10 B)9,10 C)10,9 D)9,98. 执行语句x=(a=3,b=a--)后,x、a、b的值分别为 C 。
A) 3,3,2 B) 3,2,2 C) 3,2,3 D) 2,3,29. 若定义:int a[ ]={0,1,2,3,4,5,6,7,8,9},*p=a,i;其中0≤i≤9, 则下列选项错误的是 C 。
A) *p B) *(a+i) C) a=p+2 D) p[i]10. 当调用函数时,实参和形参都是数组名,则向被调用函数传送的是 B 。
A) 数组的长度B) 数组的首地址C) 数组的类型D) 数组首元素的值11. 在循环语句的循环体中执行continue语句,其作用是 C 。
A) 跳出该循环体,提前结束循环B) 继续执行该语句之后的循环体语句C) 结束本次循环D) 终止程序运行12. 若定义:int a,*p=&a; 则a与下列表达式 B 等价。
《高级语言程序设计》第一学期期末上机考试试题(A1卷)年级__________ 专业__________________ 学号_______________ 姓名______________(请注意:在每道题的程序第一行加一行注释行,注明:学号、姓名、专业、试卷类型:A、题号。
每道题存储为一个独立的Cpp文件,使用题号和卷号命名,例如:A_1.cpp,并建立一个文件夹存储这些文件,文件夹使用试卷号+学号命名。
例如:A_xxxxxxxxx不考虑输入的合法性检测问题。
)1.通过使用循环处理的方式输出以下图形**********************************************************2.设计一个函数int HighestCommonFactor(int a, int b),实现计算a和b的最大公约数,并将结果返回给主函数输出。
试编程实现该函数,a和b的输入在主函数中实现。
3.从键盘输入任意一个长度小于20的字符串,其中包括但不限于小写字母(a~z)、大写字母(A~Z)以及数字(0~9),请将这个字符串中的小写字母转换为相应的大写字母,将连续的数字反向输出,并将大小写字母以及数字之外的符号成倍输出。
例如输入为ad893GHJ012+-%,结果为AD398&&GHJ210++--%%。
void main(){string a;int num = 0;vector<string> input;while(num++ < 5){cin >> a;input.push_back(a);}sort(input.begin(), input.end());num = 0;while(num++ < 5){cout << input[num] << endl;}}bool compare(const char a[], const char b[]){ int pa = 0, pb = 0;while(a[pa] != '\0' && b[pb] != '\0'){if(a[pa] == b[pb]){++pa;++pb;continue;}elsereturn a[pa] < b[pb];}if(a[pa] == b[pb])return false;else if(a[pa] == '\0')return true;return false;}void swap(char a[], char b[]){char tmp[20];int pa = 0, pb = 0;while(a[pa] != '\0'){tmp[pa] = a[pa];++pa;}tmp[pa] = '\0';while(b[pb] != '\0'){a[pb] = b[pb];++pb;}a[pb] = '\0';pa = 0;while(tmp[pa] != '\0'){b[pa] = tmp[pa];++pa;}b[pa] = '\0';}void main(){char input[5][20];//cinint i = 0;while(i < 5)cin >> input[i++]; // input[0] => char [20]for(int k = 4; k > 0; k--){for(int i = 0; i < k; i++){//compare input[i] & input[i+1]if(compare(input[i], input[i+1]))swap(input[i], input[i+1]);}}}。
高级语言程序设计试卷及答案解析集团文件版本号:(M928-T898-M248-WU2669-I2896-DQ586-M1988)1.1 单项选择题1.二进制语言是属于()①面向机器语言②面向问题语言③面向过程语言④面向汇编语言【解】人们研制了许许多多计算机程序设计语言,其中二进制语言直接来自计算机的指令系统,与具体计算机紧密相关,所以是一种面向机器语言。
面向问题语言是为了易于描述和求解某类特定领域的问题而专门设计的一种非过程语言。
面向过程语言是一种能方便描述算法过程的计算机程序设计语言。
有汇编语言,但没有面向汇编语言。
汇编语言也是一种面向机器的语言,与机器语言比较,汇编语言用有助于记忆的符号来代表二进制代码。
所以解答是①。
2.下列语言中不属于面向过程的语言是()①高级语言②低级语言③C语言④PASCAL语言【解】 C语言和 PASCAL等程序设计语言都是高级语言,它们用于描述复杂加工的处理过程,所以也称它们是面向过程语言。
低级语言是指机器语言和汇编语言,低级语言是面向机器的语言,而不是面向问题的语言。
所以解答是②。
3.下列字符中属于键盘符号的是()①②n ③ t ④ b【解】键盘符号是指键盘上有标记,并能在显示器上直接以其标记字样显示的字符。
有许多键盘上有标记的符号,它们不是用于直接显示的,键入这种字符用于表示特定的意义,如常用的回车符。
为了能让C程序标记这种符号,程序采用转义字符的方式书写这种字符。
如"n"、"t" 、"b"都不是键盘字符,在 C 语言中,它们都得用转义字符来表达。
只有字符才是键盘字符。
所以解答是①。
但在C程序中,反斜杠字符已特别用作转义字符的引导符,它也得用转义字符的表达形式书写,将它写成""。
4.下列字符列中,不是用来表达转义字符是()①②" ③074 ④【解】转义字符有三种书写形式:反斜社字符后接上某个规定的字符;反斜杠字符后接上13个八进制数字符;反斜社字符和字符X之后接上1至2个十六进制数字符。
广西科技大学—学年第学期课程考核试题考核课程高级程序设计语言(卷)考核班级学生数印数考核方式闭卷考核时间120 分钟一、选择题(每题1分,共20分)1.C源程序的基本单位是:____。
(知识点:概述,难度等级:简单)A.程序行 B.语句 C.函数 D.字符2.请选出可作为C语言用户标识符的一组标识符:____。
(知识点:变量,难度等级:中等)A.voidB.a3_b3C.ForD.Zadefine _123 _abc DOWORD IF case sizeof3.指出下面正确的输入语句是____。
(知识点:输入,难度等级:中等)A. scanf (“a=b=%d”,&a,&b);B. scanf (“a=%d,b=%f”,&m,&f );C. scanf (“%3c”,c);D. scanf (“%5.2f”, &f);4.若x、y、z均为int 型变量,则执行下列语句后的z值为____。
(知识点:运算符,难度等级:简单)x=1; y=2; z=3; z=(x>y)?z :y ; z = (z<y)?z:x;A.1 B.4 C.2 D.35.设a为整型变量,不能正确表达数学关系: 10<a<15的C语言表达式是____。
(知识点:运算符,难度等级:中等)A. 10<a<15B. a==11||a==12||a==13||a==14C. a>10&&a<15D. !(a<=10)&&!(a>=15)6.以下程序的运行结果是____。
(知识点:运算符,选择结构,难度等级:中等)#include <stdio.h>main(){int m=5;if(m++>5) printf("%d\n", m);else printf("%d\n", m++);}A. 7B. 6C. 5D. 47.以下for循环是: (知识点:循环结构,难度等级:中等)for(x=0,y=0;(y!=123)&&(x<4);x++);A. 无限循环B.循环次数不变C. 执行4次D. 执行3次8.在下列选项中,没有构成死循环的程序段,供选择的答案是___________。
高级语言程序设计习题(最新版带答案)高级语言程序设计习题(最新版带答案)一、选择题1. 下列选项中,不属于高级语言程序设计的语言是:A. C语言B. Java语言C. HTML语言D. Python语言答案:C2. 在C++语言中,关键字用于:A. 定义变量B. 定义函数C. 标识程序结构D. 存储数据答案:C3. 以下哪个不属于Python的内置数据类型?A. intB. floatC. listD. string答案:D二、填空题1. 在Java中,用于接收命令行输入的方法是____。
答案:Scanner类的next方法2. C语言中,用于声明一个指针变量的符号是____。
答案:*三、编程题1. 编写一个Python程序,输入两个整数,计算并输出它们的和。
答案:```pythonnum1 = int(input("请输入第一个整数:"))num2 = int(input("请输入第二个整数:"))sum = num1 + num2print("两个整数的和为:", sum)```2. 编写一个C++程序,输入一个整数,判断它是否为偶数,是则输出"偶数",否则输出"奇数"。
答案:```c++#include <iostream>using namespace std;int main() {int num;cout << "请输入一个整数:";cin >> num;if (num % 2 == 0) {cout << "偶数" << endl;} else {cout << "奇数" << endl;}return 0;}```四、应用题输入一个整数n,计算并输出1到n的所有整数的平方和。
精心打造 未来1
高级语言程序设计期末考试试卷及答案( E卷) 2005-2006学年上学期 考试科目: 考试类型:(闭卷) 考试时间: 120 分钟
考试须知: 1. 答案必须写在“答题卡”上,写在试卷上不得分。 2. 必须在答题卡上正确填写班级、学号、姓名等内容。
一、选择题(共20小题,每小题1分) 1. 下列C常量中不合法的是( ) A.'\500' B.0500 C.'500' D."500" 2. C语言中,若对函数类型未加显示说明,则函数的隐含类型为( )类型 A.void B.int C.空 D.char 3. C语言程序的三种基本结构是( ) A. 嵌套结构、递归结构、顺序结构 B.递归结构、循环结构、转移结构 C. 顺序结构、选择结构、循环结构 D.循环结构、转移结构、顺序结构 4. 一个可执行C程序的开始执行点是( ) A.名为main()的函数 B.包含文件的第一函数 C.程序中的第一个语句 D.程序中的第一个函数 5. 下面程序段的执行结果是( )
int a=5, b=4, c=3; if(a>b>c) printf("a>b>c"); else printf("no"); A.a>b>c B.no C.编译错误 D.运行错误
6. 合法的数组定义是( ) 精心打造 未来2 A.int a[] = “string” B.int a[5] = {0,1,2,3,4,5} C.char a[] = {0,1,2,3,4,5} D.char s = “string” 7. 在C语言中,提供的合法关键字是( ) A.printf B.cher C.case D.Else 8. 在C语言中,合法的字符常量是( ) A.’\081’ B.’\0’ C.’ab’ D.”a” 9. putchar函数可以向终端输出一个( )。 A)字符串 B)实型变量值 C)整型变量表达式 D)字符或字符型变量 10. 在C语言中,一个char变量占( )字节。 A.1 B.2 C.4 D.8 11. 调用scanf(“%d,%d”,&a,&b);时,正确的键盘输入是( ) A.12,23 B. a=12,b=23 C.12:23 D. 12 23 12. 若有int s[4] = {1,2,3,4};,则s[s[0]+ s[3]-s[2]] 的值是( ) A. 1 B. 2 C. 3 D. 4 13. 在C语言中,一般1个float类型变量占4个字节,则设float x[2][4];假设数组x开始于内存1000单元,则x[1][2]的存储始于( ) A.1004 B.1012 C.1020 D.1024 14. 下面对C语言运算符的优先级叙述正确的是( )。 A. !(非) > 关系运算符 >算术运算符 > &&(与) > ||(或) > 赋值运算符 B. !(非) > 算术运算符 > 关系运算符 > &&(与) > ||(或) > 赋值运算符 C. 算术运算符 > 关系运算符 > !(非) > &&(与) > ||(或) > 赋值运算符 D. 算术运算符 >!(非) >关系运算符 > &&(与) > ||(或) > 赋值运算符
15. 若有代数式,则正确的C语言表达式是( ) A. x^2*y/3*b*c B.x*x/b/c*y/3 C. x*x*y/3*b*c D.x^2*y/3/b/c 精心打造 未来3 16. 已知a=48, b=0, ch = 'a' 则表达式(a>=b && (ch='b') && !b)的值是( )。 A.0 B.1 C.真 D.非0 17. 设x、y均为整型变量,且x=10,y=3,则以下语句的输出结果是() printf(“%d,%d\n”,x--,--y); A)10,3 B)9,3 C)9,2 D)10,2 18. 在switch语句中,执行完一个case分支后要使流程跳出switch结构,应使用( )语句。 A.continue B. break C.else D. return 19. 设有如下程序段 int k=1; while(k) k++; 则下面描述中正确的是( )。 A.循环体一次也不执行 B. 循环是无限循环 C.循环体语句执行多次 D. 循环体语句执行1次 20. 下面标识符中,不合法的用户标识符为 ( ) A. struct B. c_10 C. _1234 D. Int 二、看程序写结果题(共8题,共30分,前两题各3分,其它题各4分) 1. #include "stdio.h" main()
{ float a = 5.4; int b, c=25, d; b = a * 3; d = c/10; printf("b=%d, d=%d\n", b, d); } 程序执行结果为:
2. #include "stdio.h" 精心打造 未来4 main() { char grade; grade = ’C’; switch (grade)
{ case 'A': printf("excellence\n"); case 'B': printf("pass\n"); case 'C': printf("fail\n"); default: printf("error\n");
} }
程序执行结果为: 3. #include "stdio.h" int x=10;
int func(int y) { y=x+y; return(y); } main() { int x=15,y=15,z; z=func(y); printf("x=%d,y=%d,z=%d",x,y,z); }
程序执行结果为: 4. #include "stdio.h" #include "string.h" main() { 精心打造 未来5 char a[20]=”ABC123xyzABC”; int i; for (i=0;i if(a[i]>=97 && a[i]<=125) printf(“%c”, a[i]); } 备注:字母A的ASC码是65,字母a的ASC码是97,数字1的ASC码是49。
程序执行结果为: 5. #include "stdio.h" main() { int a[10]={1,2,3,4,5,6,7,8,9,10}; int i; for (i=0;i<=4;i++) { a[i]=a[9-i]; a[9-i]=a[i]; } for (i=0;i<10;i++) printf("%d ",a[i]); }
程序执行结果为: 6. #include "stdio.h" #include "math.h" main() { int i,t,p; for (i=-2; i<=2; i++) { for (p=0; p printf (""); for (t=abs(i)-2; t<=2-abs(i); t++) { 精心打造 未来6 printf("%d", abs(i)+abs(t)+1); } printf("\n"); } } 备注: 表示空格
程序执行结果为: 7. #include "stdio.h" int f ( int n ) { int c; if ( 1= = n ) c = 1; else if ( 2= = n ) c = 3; else c = 3*f (n-1)-f (n-2); return c; } main() { printf ( "%d\n", f (1) ); printf ( "%d\n", f (3) ); printf ( "%d\n", f (6) ); } 程序执行结果为:
8. #include "stdio.h" void func(int a, int b) { while( a != b ) { if ( a>b ) 精心打造 未来7 a = a - b; else b = b - a; } printf("%d\n", a); } main() { func( 24, 16); func( 413, 177); func( 35676, 864); } 程序执行结果为:
三、看程序填空题(共25个小空,每空1分) 1. 下面程序实现由键盘输入3个数a、b、c,要求按由小到大的顺序输出,请填空。
#include "stdio.h" main() { float a,b,c,t; scanf("%f,%f,%f", (1) ); if ( a> b ) {t=a; a=b; b=t} if ( a> c ) {t=a;a=c; c=t} if ( (2) ) { (3) } printf("%5.2f,%5.2f,%5.2f\n",a,b,c); }
2. 下面程序判断某一年是否闰年,请填空。 #include "stdio.h" main() {