




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C 语言程序设计期末考试试题及其答案、单项选择题(本大题共 20 题,每题 1 分,共 20分)1、一个C程序的执行是从(A )。A本程序的main函数开始,到main函数结束B 本程序文件的第一个函数开始 , 到本程序文件的最后一个函数结束C 本程序的 main 函数开始 , 到本程序文件的最后一个函数结束D 本程序文件的第一个函数开始,到本程序 main 函数结束2、以下不正确的 C 语言标识符是 ( D )A、ABC B、 abc C、 a_bc D、 ab.c3、一个 C 语言程序是由 ( B )A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成4、以下能对一
2、维数组a进行初始化的语句是:( C )A. int a5=(0,1,2,3,4,)B. int a(5)=C. int a3=0,1,2D. int a5=10*15、设变量a是整型,f是实型,i是双精度型,则表达式10+ a' +i*f值的 数据类型为 ( C ) 决定的 .A、 int B、 float C、 double D、 不确定6、C 语言中函数返回值的类型是由 ( AA、函数定义时指定的类型B、 return 语句中的表达式类型C、调用该函数时的实参的数据类型D、 形参的数据类型7、 有如下程序,输入数据:12345M678V。只>后(<CR>表示回车)
3、,x的值 是 ( B ) 。#include<stdio.h>main()int x;float y;scanf("%3d%f",&x,&y);A、12345 B、123 C、45 D、3458、设有以下说明语句:typedef struct stu int a;float b; stutype;则下面叙述中错误的是( D )。A、struct 是结构类型的关键字B、struct stu是用户定义的结构类型C、a和b都是结构成员名D、stutype 是用户定义的结构体变量名9、若有说明: int n=2,*p=&n,*q=p, 则以下非法
4、的赋值语句是 : ( D ) A、 p=qB、 *p=*q C、 n=*qD、 p=n10、已知 char x="hello", y='h','e','a','b','e', 则关于两个数组长度的正确 描述是 ( B ) .A、相同 B、x大于y C、x小于y D、以上答案都不对11、下列代码输出的是 ( C )main()int a5=1,2,3,4,5;int *ptr = (int *)(&a+1);printf("%d,%d",*(a+1),*(ptr-1);
5、A、 2,3 B、 2,4C、 2,5 D、 输出错误12、有以下程序main() int a=1, b=3, c=5;int *p1=&a, *p2=&b, *p=&c;*p =*p1*(*p2); printf("%dn",c); 执行后的输出结果是 ( C )A、 1B、 2C、 3D、 413、有以下程序段#include <stdio.h>int main() int x = 10, 20, 30;int *px = x;printf("%d,", +*px); printf("%d,",
6、 *px);px = x;printf("%d,", (*px)+); printf("%d,", *px);px = x; printf("%d,", *px+);printf("%d,", *px);px = x;printf("%d,", *+px);printf("%dn", *px);return 0; 程序运行后的输出结果是 ( A )A、 11,11,11,12,12,20,20,20B、 20,10,11,10,11,10,11,10C、 11,11,11,1
7、2,12,13,20,20D、 20,10,11,20,11,12,20,2014、如果在 C 程序中有 main(int argc,char *argv) ,那么 ( D )是指命令行 中的 参数个数。A 、argvB 、argvC、 argc,argvD、argc15、以下关于 typedef 的叙述不的是( B )A 用 typedef 可以定义各种类型名,但不能用来定义变量B 用 typedef 可以增加新类型C 用 typedef 只是将已存在的类型用一个新的名称来代表D 用 typedef 便于程序的通用 16、下面程序的运行结果是 ( C ) #include<stdio.
8、h> main()int num=0; while(num<=2) num+; printf( “%d ,num);A、 1B、1 2C、1 2 3D、1 2 3 4 17、下面代码能通过编译的是: ( A )A) int main()int a3=1,2,3;int *b3=&a1,&a2,&a3;int *p = b;return 0;B) int main()int a3=1,2,3;int *b3=a1,a2,a3;int *p = b;return 0;C) int main()int a3=1,2,3;int *b3=&a1,&a
9、2,&a3;int *p = b;return 0;D) int main()int a3=1,2,3;int *b3=&a1,&a2,&a3;int *p = &b;return 0;18、若有以下程序:void main()char *a3 = "I","love","China"char *ptr = a;printf("%c %s" , *(*(a+1)+1), *(ptr+1) ); 这段程序的输出是( C )A、 IlB、 ooC、 oloveD、 Ilove19
10、、以下对二维数组 a 的正确说明是 ( C )A、 inta3; B 、 float a(3,4);C、 double a14; D 、 float a(3)(4);20、若二维数组a有m列,则在aij前面的元素个数为(B )A、j*m+iB、i*m+jC、i*m+j-1D、i*m+j+121、下面选项属于函数指针的是: ( D )A、(int*)p(int, int) B、int *p(int, int)C、两者都是 D、两者都不是二、填空题(本大题共 10 空,每空 2 分,共 20 分)1、输入一个字符,判断该字符是数字、字母、空格还是其他字符。main( ) char ch; ch=g
11、etchar(); if(ch>=' a' &&ch<= 'z'| ch>='A ' &&ch<= ' Z')printf("It is an English charactern");else if(ch>='0'&&ch<= '9')printf("It is a digit charactern");else if( ch= ')printf("It i
12、s a space charactern");elseprintf("It is other charactern"); 2、 若输入字符串:abcde<M车 >,则以下while循环体将执行_0次.while(ch=getchar()='e') printf("*");3、若有定义 :char s ="china" 则 C 编译系统为数组 s 开辟_6_个字节的内 存单元 .4、下列程序运行后的输出结果是 #include<stdio.h>main() int i,j;for(i=4
13、;i>=1;i-) printf("*");for(j=1;j<=4-i;j+) printf("*");printf("n");5、若有定义: int a34=1,2,0,4,6,8,10 ;则初始化后, a12 得到的 初值是0a21得到的初值是 66、在 C 语言中,二维数组元素的内存中的存放顺序是_按行主顺序存放 _三、程序分析题(本大题共 4题,每题 2分,共 8分,写出程序执行结果) 1 、 #include<stdio.h> main( )int a,s,n,count; a=2;s=0;n=1;
14、count=1;while(count<=7) n=n*a; s=s+n; +count; printf( “ s=%d” ,s); 功能:求 S=0+2+4+8+16+32+64+128 和。输出结果: s=2542、#include<stdio.h> main()int a33=1,3,5,7,9,11,13,15,17,sum=0,i,j; for (i=0;i<3;i+) for(j=0;j<3;j+)if (i=j) sum=sum+aij; printf( “ sum=%dn” ,sum);功能:出矩形阵a的主对角线上的元素之和。 输出结果: 273、
15、#include <stdio.h>main() char grade=' C'switch(grade)caseA': printf( “ 90-100n” );< r">,caseB': printf( “80-90n”);caseC': printf( “ 70-80n”);< r",caseD': printf(“60-70n”); break;caseE': printf( “<60n”);default : printf(“error!n”);注:L十进制为7670-80
16、60-704、#include <stdio.h>int m33=1,2,3;int n33=1,2 ,3;main( ) printf( “ %d,” , m10+n00);printf(“%dn”,m01+n10);3,0四、编程题(本大题共 10 题,每题 6 分,共 60 分)1、编写摄氏温度、华氏温度转换程序。要求:从键盘输入一个摄氏温度,屏 幕就显示对应的华氏温度,输出取两位小数。转换公式:F= (C+32) X 9/5 。#include "stdafx.h"#include <cstdlib>int main()float c,f;p
17、rintf("input c:");scanf("%f",&c);f= (c+32.0)*9.0/5.0;printf("F=%.2f n",f);system("pause");2、试编程判断输入的正整数是否既是5 又是 7 的正倍数。若是,则输出yes;否则输出no。#include "stdafx.h"#include <cstdlib>int main()int x;scanf("%d",&x);if(x%5=0&&x%7=
18、0)printf("yes");elseprintf("no");system("pause");3、判断数 m 是否为素数(只能被 1 和它本身整除的整数) ?#include "stdafx.h"#include <cstdlib>int main()bool isPrime(unsigned long);int m;printf("input m:");scanf("%d",&m);if(isPrime(m)printf("m is a p
19、rime number!n");elseprintf("m is not a prime number!n");system("pause");bool isPrime(unsigned long n)if (n <= 3) return n > 1; else if (n % 2 = 0 | n % 3 = 0) return false; else for (unsigned short i = 5; i * i <= n; i += 6) if (n % i = 0 | n % (i + 2) = 0) return f
20、alse;return true;4、对 15 个数进行排序,按从小到大的顺序输出。#include "stdafx.h"#include <cstdlib>int main()int i,j,a15,t;printf("input 15 numbers:n");for(i=0;i<15;i+)scanf("%d",&ai);for(j=0;j<14;j+)for(i=0;i<14-j;i+)if(ai>ai+1) t=ai;ai=ai+1;ai+1=t; for(i=0;i<15;i
21、+) printf("%5d",ai);printf("n");system("pause");5、(* )编程输出如下图形(不能仅用 printf 语句):#include "stdafx.h"#include <cstdlib>int main()int i,k,j;for(i=0;i<=4;i+)for(j=0;j<4-i;j+)printf(" ");for(k=0;k<=2*i;k+)printf("*");printf("n
22、");system("pause");6请编程序将“ China”译成密码,密码规律是:用原来的字母后面第4个字母代替原来的字母。例如,字母” A”后面第4个字母是” E”,用” E”,用E 代替A,因此,” China”应译为” Glmre” 请编写一程序,用赋初值的方法使 c1, c2, c3, c4, c5这5个变量的值分别为C'' h'' i'' n'' a',经过 运算,使c1, c2, c3, c4, c5分别变成G'' i'' m''
23、; r'' e'分别用 putchar函数和printf函数输出这5个字符。Printf#include "stdafx.h"#include <cstdlib>int main()char c1='C',c2='h',c3='i',c4='n',c5='a' printf("%c%c%c%c%c",c1+4,c2+4,c3+4,c4+4,c5+4);system("pause");Putchar#include &qu
24、ot;stdafx.h"#include <cstdlib>int main()char c1='C',c2='h',c3='i',c4='n',c5='a'putchar(c1+4);putchar(c2+4);putchar(c3+4);putchar(c4+4);putchar(c5+4);system("pause");7、有 1、2、3、4 个数字,能组成多少个互不相同且无重复数字的三位数?都 是多少#include "stdafx.h"#in
25、clude <cstdlib>int main()int count =0;for(int i=1;i<5;i+)for(int j=1;j<5;j+)for(int n=1;n<5;n+)if(i!=j&&i!=n&&j!=n)printf("%d%d%d%n",i,j,n); count+;printf(" 一共有 %dn",count);system("pause");8、请编写程序,输出以下扬辉三角形 ( 要求输出 10 行)。第一种#include "s
26、tdafx.h"#include <cstdlib># define N 10int main()int i,j;int aNN;for(i=1;i<N;i+)ai1=1; / 每行第一个输出 1aii=1; / 每行末尾输出 1for(i=3;i<N;i+)for(j=2;j<=i-1;j+)aij=ai-1j-1+ai-1j;/第 i 行 j 列的数等于他低下一行的相邻左右数的和。for(i=1;i<N;i+)for(j=1;j<=N-i-1;j+)printf(" "); /输出三角 前面用空格填充 for(j=1;
27、j<=i;j+)printf("%4d",aij);/ 输出三角数值printf("n");/换行 printf("n"); system("pause");第二种#include "stdafx.h"#include <cstdlib>#define M 10#define N 10int main()int aMN,i,j;for(i=0;i<M;i+)for(j=0;j<=i;j+) if(j=0|j=i)aij=1;elseaij=ai-1j-1+ai-1j
28、; for(i=0;i<M;i+)for(j=0;j<=i;j+)printf("%4d",aij); printf("n"); system("pause");9、写一程序,要求用户在键盘上输入一个整数,并把每位数字转换为英文 例如:输入 1024 时,输出 One Zero Two Four#include "stdafx.h"#include <cstdlib>int main()long int n;int m,i=0,c10; scanf("%ld",&
29、n);dom=n%10;i+;ci=m;printf("%5d%5d%5dn",i,m,ci);while (n/=10)>0);while(i>=1)i-; switch(ci+1)case 0: printf("zero");printf(" ");break; case 1: printf("one");printf(" "); break; case 2: printf("two");printf(" "); break; case 3: printf("three");printf(" ");break
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 药品耗材监测管理制度
- 药品销售差错管理制度
- 药店医保基本管理制度
- 药店数据安全管理制度
- 菌种保藏中心管理制度
- 设备人员日常管理制度
- 设备制作车间管理制度
- 设备实施安全管理制度
- 设备日常基础管理制度
- 设备租赁资产管理制度
- 光储充一体化充电站设计方案
- 胸腔积液护理查房
- 《公路桥涵施工技术规范》JTGT3650-2020
- 湖南省张家界市永定区2023-2024学年三年级下学期期末考试数学试题
- 2024年湖北省中考历史真题
- 2024小学六年级人教版道德与法治升学毕业小升初试卷及答案(时政+上下册考点)04
- 期末考试试卷(试题)-2023-2024学年三年级下册数学北师大版
- 人教版2024年数学小升初模拟试卷(含答案解析)
- 架空送电线路导线及避雷线液压施工工艺规程
- 森林管护工考试考试题库(强化练习)
- GB/T 3880.2-2024一般工业用铝及铝合金板、带材第2部分:力学性能
评论
0/150
提交评论