《C语言程序设计基础》 试卷A及参考答案

合集下载

c语言《程序设计基础》课后习题参考答案与解析

c语言《程序设计基础》课后习题参考答案与解析

c语言《程序设计基础》课后习题参考答案与解析1. 习题一:编写一个C程序,输出“Hello World!”。

解析:这是一个非常简单的C程序,只需要使用printf函数输出所需的字符串即可。

```c#include <stdio.h>int main() {printf("Hello World!");return 0;}```2. 习题二:编写一个C程序,计算两个整数的和并输出结果。

解析:这个程序需要使用scanf函数从用户输入中读取两个整数,并使用printf函数输出它们的和。

```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入第一个整数:");scanf("%d", &num1);printf("请输入第二个整数:");scanf("%d", &num2);sum = num1 + num2;printf("两个整数的和为:%d", sum);return 0;}```3. 习题三:编写一个C程序,判断一个数是奇数还是偶数并输出结果。

解析:这个程序需要使用scanf函数读取用户输入的整数,并使用if-else语句判断该数的奇偶性,然后使用printf函数输出结果。

```c#include <stdio.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (num % 2 == 0) {printf("该数是偶数");} else {printf("该数是奇数");}return 0;}```4. 习题四:编写一个C程序,判断一个年份是否为闰年并输出结果。

C语言程序设计试题及答案完整版

C语言程序设计试题及答案完整版

C语言复习资料5元必须清楚的:1)程序结构是三种: 顺序结构, 循环结构(三个循环结构), 选择结构(if 和switch)2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)。

3)计算机的数据在电脑中保存是以二进制的形式. 数据存放的位置就是他的地址.4)bit是位是指为0 或者1。

byte 是指字节, 一个字节= 八个位.5)一定要记住二进制如何划成十进制。

概念常考到的:1、编译预处理不是C语言的一部分,不再运行时间。

C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。

2、每个C语言程序中main函数是有且只有一个。

3、在函数中不可以再定义函数。

4、算法的是一定要有输出的,他可以没有输入。

5、break可用于循环结构和switch语句。

6、逗号运算符的级别最低。

第一章1)合法的用户标识符考查:合法的要求是由字母,数字,下划线组成。

有其它元素就错了。

并且第一个必须为字母或则是下划线。

第一个为数字就错了。

关键字不可以作为用户标识符号。

main define scanf printf 都不是关键字。

迷惑你的地方If是可以做为用户标识符。

因为If中的第一个字母大写了,所以不是关键字。

2)实型数据的合法形式:2.333e-1 就是合法的,且数据是2.333×10-1。

考试口诀:e前e后必有数,e后必为整数。

.3)字符数据的合法形式::'1' 是字符占一个字节,"1"是字符串占两个字节(含有一个结束符号)。

'0' 的ASCII数值表示为48,'a' 的ASCII数值是97,'A'的ASCII数值是65。

4)整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节:考试时候一般会说,在16位编译系统,或者是32位系统。

碰到这种情况,不要去管,一样做题。

掌握整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节就可以了。

大学《C语言》试题及参考答案

大学《C语言》试题及参考答案

(2)编写程序输出1-1000之间能够被5整除的所有整数,并求出这些整数的和输出。

(3) 从键盘输入10个正的整数,找出其中的素数输出。

答: #include#includeint f(int x){int i;for(i=2;i<=sqrt(x);i++)if(x%i==0) return 0;return 1}void main(){int a[10],i,n=0,j,t;for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<10;i++)if( f(a[i]) n++;else a[i]=0;for(i=0;i<9;i++)for(j=0;j<9-i;j++)if( a[j]<A[J+1] ) {t=a[j];a[j]=a[j+1];a[j+1]=t;}printf("共有%d个素数,它们是:",n);(4)编写程序打印下列图案答:#include "stdio.h"void main() {for (int i = 0;i <= 4;i++) {for (int j = 0;j <= i;j++) { printf("*");}printf("\n");}}(5)写一个函数计算一个字符串的长度,再写一个测试函数测试其功能。

不允许使用strlen函数答:#include "stdio.h"void convert(char *str){for (int i = 0; str[i] != '\0'; i++) {if (str[i] >= 'A' && str[i] <= 'Z') {str[i] = str[i] - 'A' + 'a';}}}int main(){char str[20] = "aZcdABxDEF123";convert(str);printf("%s\n", str);return 0;}(6)从键盘上任意输入50个整数存放在a数组中,找出a数组中所有偶数存放在数组b 中,并对b数组的值按降序排列。

C语言程序设计考试A卷答案

C语言程序设计考试A卷答案

C语言程序设计考试A卷答案以下是为大家整理的c语言程序设计考试A卷答案的相关范文,本文关键词为语言,程序设计,考试,答案,领导,审批,签名,广州大学,20,您可以从右上方搜索框检索更多相关文章,如果您觉得有用,请继续关注我们并推荐给您的好友,您可以在综合文库中查看更多范文。

系领导审批并签名A卷广州大学20XX-20XX学年第一学期考试卷课程《c语言程序设计》考试形式(闭卷,考试)物理与电子工程学院系专业学号姓名题号分数评分一50二20XX0三210310总分100评卷人一、选择题(每题2分,共50分)下列每题A、b、c、D四个选项中,只有一个选项是正确的。

1、以下说法正确的是(b)A)c语言程序总是从第一个函数开始执行b)c语言程序总是从main()函数开始执行c)在c语言程序中,要调用函数必须在main()函数中定义D)c语言程序中的main()函数必须放在程序的开始部分2、若有定义intk=5;,表达式k+=k-=k*=k运算后k的值是(c)A)90b)25c)0D)-153、有输入语句:scanf(“%d,%d,%d”,为使变量a的值为1,b为3,c为2,从键盘输入数据的正确形式为(D)(其中,“□”表示空格,表示enter键)A)1□3□2b)a=1,b=3,c=2c)a=1b=3c=2D)1,3,24、以下程序段的输出是(c)printf(“|%8.5f|\\n”,3461.45);A)|61.45000|b)|3461.450|c)|3461.45000|D)|3461.4500|5、在x值处于-2≤x≤2或4≤x≤8时值为“真”否则为“假”的表达式是(D)A)(-2≤x≤2)||(4≤x≤8)b)(x m=++i;n=j++;printf(\}第1页共8页A)108b)89c)99D)987、假设所有变量均为整数,则表达式(a=2,b=5,a++,b++,a+b)的值为(c)A)7b)8c)9D)108、有以下程序,执行后输出结果是(A)#includevoidmain(){inti=1,j=1,k=2;if((j++||k++)}A)2,2,2b)2,2,1c)1,1,2D9、有如下程序,该程序的输出结果是(D)#includevoidmain(){intx=1,a=0,b=0;switch(x){case0:b++;case1:a++;case2:a++;b++;}printf(\\n\);}A)a=2,b=2b)a=1,b=1c)a=1,b=010、下述程序的输出结果是:(c)#includemain(){intk=4,n=0;for(;n if(n%4!=0)continue;k--;}printf(“k=%d,n=%d\\n”,k,n);}A)k=1,n=1b)k=2,n=2c)k=3,n=4D)k=4,n=511、不正确的赋值或赋初值的方式是(b)。

第一学期《C程序设计》考试A(级)含答案

第一学期《C程序设计》考试A(级)含答案
15.设有定义:char *p;以下选项中能够使字符型指针p正确指向一个字符串的是:【 】
A) char str[ ]=”China”; p=str[0]; B) scanf(“%s”, p);
C) p=getchar();D) p=”string”;
16.阅读以下程序
#include<stdio.h>
B) struct student{ char name[20]; char sex; int age;} struct student s1;
C) struct student{ char name[20]; char sex; int age;} s1;
D) struct { char name[20]; char sex; int age;} s1;
A)k++B)k+=1C)++kD)k+1
11.以下叙述中正确的是【 】
A)break语句只能用于switch语句体中
B)continue语句的作用是:使程序的执行流程跳出包含它的所有循环
C)break语句只能用在循环体内和switch语句体内
D)在循环体内使用break语句和continue语句的作用相同
6.对于一个正常运行的C程序,以下叙述中正确的是【 】
A)程序的执行总是从main函数开始,在main函数结束
B)程序的执行总是从程序的第一个函数开始,在main函数结束
C)程序的执行总是从main函数开始,在程序的最后一个函数中结束
D)程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束
A)大写字母B)连接符C)数字字符D)下划线
4.以下不合法的用户标识符是【 】

C语言程序设计基础测试试卷答案

C语言程序设计基础测试试卷答案

《C语言程序设计基础》测试试卷答案一、填空题(每空2分,共20分)1.定义变量bi并赋初值为33的语句为。

2.c语言中一个程序行上可以写。

3.与数学表达式,5=<x <19等价的c语言表达式为。

4.定义符号常量PT为109的命令为。

5.以知有定义int a,b,c;a=b=c=3;则表达式a++||++b>=4&&c =4运算后,c的值为。

6.字符串"abcd"在内存中的长度为。

7.c语言中,以形式来存储字符。

8.变量ch是小写字母,把它转换为大写字母的表达式是。

9.c语言的基本数据类型有整型,实型和。

10.c语言的基本组成单位是。

二、选择题(每题2分,共40分)1.下面不合法的整型常量是()A) 1919 B) 0990 C)1010 D)0xe0f72.C语言程序的基本组成单位是()A)语句B)字符C)程序行D)函数3.已知有int x=5,y=10;语句printf("%d",(x+2,x+y++));的输出结果是( )A)7,17 B)7,15 C)17 D)154.已知有float x,y;下面合法的表达式是()A)-x-- B)y=y-x C)x=y>=x D)y=x%2*25. 下面不能表示逻辑假的是()A) '\0' B)0 C)-0.0 D) '0'6.有※int x,char ch;使用语句scanf(%d,%d,&x,&ch);为x和ch输入25和字符0,正确的输入格式为()A)25 0 B)25'0' C)250 D)25,07.有int x=5;则语句printf("%d",!x+1);输入结果为()A)0 B)1 C)5 D)68.有int a=3;执行语句a+=a-=a*a;有a的值为()A)-9 B)-12 C)9 D)129.下面语句不能实现对变量x的值增1的是()A)x++ B)++x C)x+=1 D)x+110.下面说法正确的是()A)逗号表达式的值是各个表达式值之和。

一学期《C程序设计》试卷A(级)含答案

一学期《C程序设计》试卷A(级)含答案
C) p=getchar()。D) p=”string”。
16.阅读以下程序
#include <stdio.h>
voidmain()
{intcase。float printF。
printf(“请输入2个数:”)。
scanf(“%d%f”, &case, &printF)。
printf(“%d %f”, case, printF)。
C) struct student{ char name[20]。char sex。int age。} s1。
D) struct { char name[20]。char sex。int age。} s1。
15.设有定义:char *p。以下选项中能够使字符型指针p正确指向一个字符串的是:【 】
A) char str[]=”China”。p=str[0]。B) scanf(“%s”, p)。
19.以下数组定义中错误的是【 】
A)int x[][3]={0};
B)int x[2][3]={{l,2},{3,4},{5,6}};
C)int x[][3]={{l,2,3},{4,5,6}};
D)int x[2][3]={l,2,3,4,5,6};
20.定义数组int a[10],若整型类型变量长度是2个字节,数组a的首地址是0,则&a[5]的值是:【 】
C)break语句只能用在循环体内和switch语句体内
D)在循环体内使用break语句和continue语句的作用相同
12.在C语言中,函数返回值的类型最终取决于【 】
A)函数定义时在函数首部所说明的函数类型
B)return语句中表达式值的类型
C)调用函数时主函数所传递的实参类型

c语言程序设计试题及答案解析

c语言程序设计试题及答案解析

c语言程序设计试题及答案解析C语言程序设计试题及答案解析一、选择题1. 下列哪个选项不是C语言的基本数据类型?A. intB. floatC. stringD. double答案:C2. C语言中,以下哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C二、填空题1. 在C语言中,用于定义一个整型变量的关键字是______。

答案:int2. 若有以下C语言代码段:```cint a = 5, b = 10;printf("%d", a + b);```执行后输出的结果是______。

答案:15三、简答题1. 简述C语言中数组的定义和初始化方式。

答案:在C语言中,数组是一种基本的数据结构,用于存储具有相同类型的多个元素。

数组的定义方式为:类型名数组名[数组大小];初始化方式可以是静态初始化,即在定义时直接赋值,如:int arr[5] = {1, 2, 3, 4, 5}; 或者动态初始化,即在定义后使用循环或赋值语句逐一赋值。

四、编程题1. 编写一个C语言程序,实现求一个整数的阶乘。

```c#include <stdio.h>int factorial(int n) {if (n == 0)return 1;elsereturn n * factorial(n - 1);}int main() {int num;printf("请输入一个整数:");scanf("%d", &num);printf("%d 的阶乘是:%d\n", num, factorial(num));return 0;}```五、分析题1. 请分析以下C语言代码段的运行结果,并解释原因。

```c#include <stdio.h>int main() {int x = 10;printf("%d", x++);return 0;}```答案:代码段的运行结果是10。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《c语言程序设计基础》试卷 (A卷)考试时间:90分钟闭卷任课老师:班级:学号:姓名:成绩:(每小题2分,共30分)、由C++源文件编译生成的目标文件的缺省扩展名为()A、cppB、exeC、objD、lik2、下列中,不是C++合法的标识符()A、2mnB、m123C、kkD、a_13、C++中,基本数据类型不包括()A、intB、floatC、charD、class4、x和y均为bool量,则x| |y为真的条件是()A、它们均为真B、其中一个为真C、它们均为假D、其中一个为5、C++中,一个字符型数据在内存中占()字节。

A、4B、2C、1D、86、字符串常量”hello”的长度是()A、5B、6C、7D、87、以下语句,int i=2,j=2,m,n;m=i++;n=++j;则m,n,i,j的值分别为()A、2,3,2,2B、2,3,3,3C、2,2,3,3D、3,3,2,28、假定a为一个整型数组名,则元素a[4]的字节地址为()A、a+4B、a+8C、a+16D、a+329、 x>0 || y==5的相反表达式为()。

A、 x<=0 || y!=5B、 x<=0 && y!=5C、 x>0 || y!=5D、 x>0 && y==510、在下面的函数声明中,存在着语法错误的是()A、void BC(int a , int)B、void BD(int , int)C、void BE(int , int=5)D、int BF(int x ; int y)11、循环体至少被执行一次的语句为()。

A、for循环B、while循环C、do循环D、任一种循环12、已知一函数中有下列变量定义,其中属于静态变量的是()A、int a=5;B、static double b;C、register char c;D、auto short d;13、do语句能够改写为()语句。

A、复合B、ifC、switchD、 while14、要使语句: p=new int[10]; 能够正常执行,p应定义为()A、int p;B、int p[10];C、int *p;D、int (*p)[10];15、编写C++程序一般需经过的几个步骤依次是( )。

A、编译、编辑、连接、调试B、编辑、编译、连接、调试C、编译、调试、编辑、连接D、编辑、调试、编辑、连接二、填空题(每小题1分,共10分)1、使用const 语句定义一个标识符常量时,则必须对它同时进行。

2、用于输出表达式值的标准输出流对象是_________,用于从键盘上为变量输入值的标准输入流对象______。

3、在每个C++程序中都必须包含有这样一个函数,该函数的函数名为。

4、在C++语言中,用转义字符序列或操纵符表示输出一个换行符。

5、假定一个枚举型的定义为”enum RB{ab,ac=3,ad,ae}x=ad;”,则x的值为。

6、设px是指向一个类动态对象的指针变量,则执行“delete px;”语句时,将自动调用该类的。

7、关系表达式x+y>5的相反表达式为8、空串的长度为___,存储它需要占用___个字节。

9、表达式: x=625,i=(x>100?10:100) 的值是。

10、C++语言中的每条基本语句以作为结束符,每条复合语句以作为结束符。

三、写出下列每个函数的功能(每小题4分,共20分)1、#include<math.h>bool SG(int x) {/ /x为大于等于2的整数int a=int(sqrt(x));/ /取x的平方根int i=2;while(i<=a) {if(x%i= =0) break;i+ +;}if(i<=a)return 0;else return 1;}2、#include <iostream.h>int SC(int a,int b,int c){if(a>=b && a>=c) return a;if(b>=a && b>=c) return b;if(c>=a && c>=b) return c;}3、#include <math.h>bool SG(int x){int a=int(sqrt(x));int i=2;while(i<=a){if(x%i==0) break;i++;}if (i<=a) return 0;else return 1;}4、int SC(int a,int b,int c) {if(a>=b && a>=c) return a;if(b>=a && b>=c) return b;if(c>=a && c>=b) return c;}四、阅读下列程序,在处填入适当内容,使程序完整(每个空1分,共10分,)1、下面函数是求两个整型参数a和b的最小公倍数。

int f2(int a, int b){int i=2, p=1;do {while(a%i==0 && ___(1)___) {p*=i; a/=i; b/=i; }___(2)___;}while(a>=i && ___(3)___);return p*a*b; }2、打印出2至99之间的所有素数(即不能被任何数整除的数)。

#include<iostream.h>#include<math.h>void main(){int i,n;for(n=2; ___(1)___; n++) {int temp=int(sqrt(n)); //求出n的平方根并取整for(i=2; ___(2)___; i++)if(n%i==0) ___(3)___;if(i>temp) cout<<n<<' '; }cout<<'\n';}3、采用辗转相除法求出两个整数的最大公约数。

#include<iostream.h>void main(){int a,b;cout<<"请输入两个正整数:";cin>>a>>b;while(a<=0 || __(1)___) {cout<<"重新输入:"; cin>>a>>b;} while(b) {int__(2)__;r=a%b;___(3)___; ___(4)___; //分别修改a和b的值} cout<<a<<endl; //输出最大公约数 }五、写出下列程序的运行结果(每小题5分,共30分)1、main ( ){ int a=4,x=5,b=8;fun(b,6);printf("%d,%d,%d\n",a,b,x);}fun (int a,int b){ int x=3;printf("%d,%d,%d\n",a,b,x);}运行结果:2、#include<iostream、h>void SB(char ch){switch(ch){case 'A':case 'a':cout<<"well!";break;case 'B':case 'b':cout<<"good!";break;case 'C':case 'c':cout<<"pass!";break;default:cout<<"bad!";break;}}void main(){char a1='b',a2='C',a3='f';SB(a1);SB(a2);SB('A');cout<<endl;}运行结果:3、#include<iostream、h>#include<stdlib、h>double SD(int a,int b,char op){ double x;switch(op){case '+':x=double(a)+b;break;case '-':x=double(a)-b;break;case '*':x=double(a)*b;break;case '/': if (b) x=double(a)/b;else exit(1);break;default:exit(1);}return x;}void main(){int x=20,y=12;cout<<SD(x,y,'-')<<' ';cout<<SD(x,y,'*')<<' ';cout<<SD(x+y,y-2,'/')<<endl;} 运行结果:4、#include<iostream、h>void main(){int s=0;for(int i=1;i<6;i++)s+=i*i;cout<<"s="<<s<<endl;}运行结果:5、 main( ){ int x=7,y;if(x<5) y=x;else if(x<10) y=2*x+1;else y=3*x-1;printf(“%d\n”,y);} 运行结果:6、 main( ){int i,j;for(i=1;i<=3;i++){for(j=1;j<=i;j++)printf(“%d”,j);printf(“\n”);}}运行结果:以下为本试卷的参考答案一、选择题(30分,每小题2分)1、( C )2、( D )3、( D )4、( A )5、( C )6、( B )7、( A )8、( A )9、( B ) 10、( B )11、( C ) 12、( B ) 13、( D ) 14、( C ) 15、( B )二、填空题(10分,每小题1分)1、声明2、 cout、cin3、 main4、‘\n’,endl5、 46、动态内存7、x+y<5||x+y==58、 0 19、10 10、; {}三、写出下列每个函数的功能(20分,每小题4分)1.判断整数x是否为质数,若为质数返回true,若不是则返回false。

相关文档
最新文档