C语言程序设计试题AB卷及标答2010年

合集下载

2010级C语言(A卷答案)

2010级C语言(A卷答案)

天津工业大学2010~2011学年第 2 学期高级语言程序设计(C语言) 试卷(A卷答案)一、单项选择题:(每题 1 分,共40 分)一、单项选择题:(每题 1 分,共40 分)(说明:请将正确答案按照题干上【】内的序号涂写“标准答题卡”)1.以下各标识符中,能作为变量名使用的是【1】。

A) A#C B) my_x C) main D) ab*2.下列叙述中错误的是【2】。

A) 一个C语言程序必须有main()函数B) C语言规定函数内的每个语句以分号结束C) C语言程序书写格式规定,一行内只能写一个语句D) main()函数可以放在程序开头,也可以放在程序末尾3.设有变量定义语句char ch; 下列赋值表达式中,正确的是【3】。

A) ch='a' B) ch="a" C) ch='97' D) ch="97"4.执行下列程序段后,输出结果为【4】。

int x=023;printf("%d", x--);A)18 B) 19 C) 23 D) 245.表达式10!=9的值为【5】。

A) 1 B) 0 C) True D) False6.设有变量定义语句int x=5,y; 则表达式y=2.75+x/2的值是【6】。

A) 4 B) 5 C) 4.75 D) 5.257.下列选项中,所有变量均已正确说明且有初始值,则错误的C语句是【7】。

A) m++; B) m=a==b; C) a=b=c+2; D) a=b+c=2;8.设int i=0,j=2,k=3;则表达式(i+k)&k|j+i的值是【8】。

A) 0 B) 1 C) 2 D) 39.假设所有变量均为整型,执行表达式x=(y=4,z=16,k=32)后x的值是【9】。

A) 4 B)16 C) 32 D) 5210.有输入语句scanf("a=%d,b=%d,c=%d",&a,&b,&c);为了使a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式是【10】。

C语言程序设计参考答案及评分标准

C语言程序设计参考答案及评分标准

2010—2011学年度第一学期期末考试《C语言程序设计》试题( A卷)参考答案及评分标准(使用班级:11)制卷刘刚审核一、选择题(15分,1分/题)1. C2. B3. C4. C5. D6. A7. B8. C9. C10. B11. D12. C13. D14. C15. C二、判断题(10分,1分/题)1. ×2. ⨯3. √4. ×5. √6. √7. √8. √9. ×10. √三、填空题(10分,2分/题)1. 1111 1111 1111 10002. 0,13. 取变量的地址取地址中的值4. 45. 打开文本文件追加四、程序阅读(30分,5分/题)1. s=302. 10 %d &a[i]i % 4 printf(“\r\n”)3. 程序功能:从键盘输入一长度不大于100的字串,将该字串逆序存放后输出。

4. 程序运行结果:165. abcDefghi6. 程序运行结果:x begins as 1add 1 to make 2substract 1 to make 1substract 1 to make 0add 1 to make 1add 1 to make 2x winds up as 2五、程序设计题(15分,5分/题)1. #include "stdio.h"main(){int a, b, c, d ;printf ( "Please input a,b\n");scanf ( "%d, %d ", &a, &b);c=a*a+b*b;if ( c>100 ){d=c/100;printf("%d→%d\n", c, d);}elseprintf (" a+b=%d\n", a+b);}2. #include "stdio.h"void necryption_de(char *,int);main(){char str[100];int pw=23;printf("Please input a string(Str_length<100): ");gets(str);necryption_de(str,pw); /*necryption*/printf("%s\r\n",str);necryption_de(str,pw); /*decrypt*/printf("%s\r\n",str);}void necryption_de(char *str,int pw){ /*necryption and decrypt*/ while (*str!='\0')*str++^=pw;}3. #include <stdio.h>#include <string.h>main(){char s1[101],s2[51];int i,n1,n2;printf(“Please input string1: ”);gets(s1);printf(“Please input string2: ”);gets(s2);n1=strlen(s1);n2=strlen(s2);for (i=0;i<n2;i++)s1[i+n1]=s2[i];s2[n1+n2]=’\0’;printf(“%s\r\n”,s2);}六、综合与创新能力测试题(20分,10分/题)1. #include <stdio.h>int age(int);main(){int n=5,m;m=age(n);printf(“%d\r\n”,m);}int age(int n){int c;if(n==1) c=10;else c=age(n-1)+2;return(c);}2. #include "math.h"main(){int i,j,k,c;for(i=1;i<=9;i++) /* i:车号前二位的取值*/for(j=0;j<=9;j++) /* j:车号后二位的取值*/if( i!=j ){ /* 判断两位数字是否相异*/k=i*1000+i*100+j*10+j; /* 计算出可能的整数*/for( c=31;c*c<k;c++); /* 判断该数是否为另一整数的平方*/ if(c*c==k)printf("Lorry_No. is %d .\n", k); /* 若是,打印结果*/}}。

201012真题C语言(含答案)

201012真题C语言(含答案)

0124、以下叙述正确的是()。

A.注释部分可单独占用一行,也可跟在语句的后面B.函数体定界符也可用一对方括号"[ ]"C.C语言源程序每一行就是一条语句D.由于C语言源程序都是从main()函数开始执行,所以main()函数必须位于程序文件最前面0125、下面叙述错误的是()。

A.所有语句都必须以分号";"结束B.语句是构成C语言源程序的基本单位C.C语言源程序必须包含一个main()函数D.注释部分在程序编译和运行时不起作用0126、main()函数的位置()。

A.必须位于程序文件的最前面B.必须位于用户自定义函数的前面C.可位于用户自定义函数之前,也可位于用户自定义函数之后D.必须位于用户自定义函数的后面0127、()是结构化程序设计应遵循的原则。

A.选用的控制结构可有多个入口和一个出口B.根据需要可使用嵌套基本控制结构表示程序逻辑C.应使用顺序、选择、循环三种基本控制结构表示程序逻辑D.为提高程序效率,应尽量使用Goto语句0128、描述一个算法可以有不同的方式,常见的有()。

A.汇编语言、高级语言和低级语言B.自然语言、流程图和伪代码C.机器语言、汇编语言和高级语言D.高级语言、自然语言和伪代码0224、下列不属于C语言数据类型的是()。

A.双精度型B.枚举类型C.复数类型D.长整型0225、下列合法的浮点数的是()。

A..65B.E2C.2E0.5D.1230226、下列不合法的字符常量的是()。

A.'\t'B.'\n'C.'\\'D."a"0227、下列()是不正确的常量形式。

A.'x5'B.1.6E6C.1E-2D."\0"0228、下列()是不合法的用户标识符。

A._f6B.divC.5xD._num0324、若已定义:int n=2; double x=2.5; 则下列表达式中不符合语法的是()。

2010程序设计期末试卷答案

2010程序设计期末试卷答案
【1】c!=’\n’
【2】_c>=’0’&&c<=’9’__
【3】j=1
【4】k>=0&&k<=6
【5】5
【6】6
【7】n==1
【8】(2*n-1)*x-p(n-1,x)
本题得分
五、编程题〖第1题5分,第2题9分,共计14分〗
1.将以下程序段改用嵌套的if语句实现。
int s,t,m;
t=(int)(s/10);
2.写一个函数,用“起泡法”对输入的10个整数按由小到大的顺序排列。
void main()
{
void sort(int b[10]);
int i,a[10];//正确的数组变量定义1分
for(i=0;i<10;i++)//正确的输入循环控制1分
scanf("%d",&a[i]);//正确的输入1分
sort(a);
for(i=0;i<10;i++)
printf("%d",a[i]);
}
void sort(b[10])
{
int i,j;
for(j=0;j<9;j++)//正确的冒泡法外循环控制1分
for(i=0;i<9-j;i++)//正确的冒泡法内循环控制1分
if(b[i]>b[i+1])//正确的比较1分
{
t=b[i];//正确的赋值1分
b[i]=b[i+1];//正确的赋值1分
b[i+1]=t;//正确的赋值1分
}
}
else if(s<70) m=1; //正确的条件以及赋值0.5分

C语言程序设计试题AB卷及标答2010年

C语言程序设计试题AB卷及标答2010年

2010—2011学年度第二学期期末考试《C语言程序设计》试题A卷09年级90 分钟2011年6月一、用C语言描述下列命题(每小题2分,共8分)1、a小于b或a小于c。

2、a或b其中之一小于c。

3、a和b中有一个是奇数。

4、无条件循环(while )。

二、填空(每小题2分,共10分)1、(FF)H=()2。

2、若一个二进制数的原码是X原=10010011,则反码是X反=()。

3、a+=a-=a*=a ()。

4、C程序设计的基本结构有3种,分别是顺序结构、分支结构、()。

5、C函数结尾处,一般有return语句,其含义是()。

三、读程序,写出其结果(每小题5分,共10分)1、程序代码如下,结果是( )。

#i nclude <stdafx.h>int main (i nt argc,char *argv[]){int a=10,b=20;prin tf("%d",a>b?a:b);return 0;}2、程序代码如下,结果是( )。

#include <stdafx.h>int main (i nt argc,char *argv[]){int i=8,j=10,m, n;m=++i; n =j++;prin tf("%d,%d,%d,%d",i,j,m, n);return 0;四、程序填空(每空4分,共12分)输出杨辉三角形(要求输出10行)11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1程序如下:#i nclude "stdafx.h"int main (i nt argc, char* argv[]){int a[10][10];〃构建杨辉三角形for(int i=0; i<10; i++){_____ ;a[i][i]=1;}for( ②;i<10; i++)for(i nt j=1; j<i; j++) a[i][j]= ③〃以下是输出杨辉三角形for(i=0; i<10; i++){for(i nt j=0; j<=i; j++)prin tf("%5d ", a[i][j]);prin tf("\n");}return 0;}五、程序改错(在答题纸上写出改正后的语句)(共10分)下列给定程序中,函数fun的功能是:根据整型形参m的值,计算如下公式的值1 1 1 1t j 亠 M2x2 3x3 m xm请改正函数fun中的二处错误,使它能得出正确的结果。

2010年3月全国计算机二级(C语言程序设计)笔试真题及参考答案

2010年3月全国计算机二级(C语言程序设计)笔试真题及参考答案

2010年3月全国计算机等级考试二级笔试试卷C 语言程序设计及参考答案一、选择题(1) 下列叙述中正确的是A)对长度为n 的有序链表进行查找,最坏情况下需要的比较次数为nB)对长度为n 的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)C)对长度为n 的有序链表进行对分查找,最坏情况下需要的比较次数为(2log n )D) 对长度为n 的有序链表进行对分查找,最坏情况下需要的比较次数为(n 2log n )(2) 算法的时间复杂度是指A)算法的执行时间 B)算法所处理的数据量 C)算法程序中的语句或指令条数 D)算法在执行过程中所需要的基本运算次数(3) 软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。

下面属于系统软件的是A)编辑软件 B)操作系统 C)教务管理系统 D)浏览器(4) 软件(程序)调试的任务是A)诊断和改正程序中的错误 B)尽可能多地发现程序中的错误 C)发现并改正程序中的所有错误 D)确定程序中错误的性质(5) 数据流程图(DFD 图)是A)软件概要设计的工具 B)软件详细设计的工具 C)结构化方法的需求分析工具 D )面向对象方法的需求分析工具(6) 软件生命周期可分为定义阶段,开发阶段和维护阶段。

详细设计属于A)定义阶段 B)开发阶段 C)维护阶段 D)上述三个阶段7) 数据库管理系统中负责数据模式定义的语言是A)数据定义语言 B)数据管理语言 C)数据操纵语言 D)数据控制语言(8) 在学生管理的关系数据库中,存取一个学生信息的数据单位是A)文件 B)数据库 C)字段 D)记录(9) 数据库设计中,用E-R 图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的A)需求分析阶段 B)逻辑设计阶段 C)概念设计阶段 D)物理设计阶段(10) 有两个关系R 和T 如下:A)选择 B )投影 C)交 D)并(11) 以下叙述正确的是A)C 语言程序是由过程和函数组成的 B)C 语言函数可以嵌套调用,例如:fun(fun(x))C)C 语言函数不可以单独编译 D)C 语言中除了main 函数,其他函数不可以作为单独文件形式存在(12) 以下关于C 语言的叙述中正确的是A)C 语言中的注释不可以夹在变量名或关键字的中间 B)C 语言中的变量可以再使用之前的任何位置进行定义C)在C 语言算术的书写中,运算符两侧的运算数类型必须一致 D)C 语言的数值常量中夹带空格不影响常量值的正确表示(13) 以下C 语言用户标示符中,不合法的是A)_1 B)AaBcC)a_b D)a--b (14) 若有定义:double a=22;int i=0,k=18;则不符合C 语言规定的赋值语句是A)a=a++,i++ B)i=(a+k)<=(i+k) C)i=a%11 D)i=!a(15)#include <stdio.h>main(){char a,b,c,d;scanf("%c%c",&a,&b);c=getchar(); d=getchar();printf("%c%c%c%c\n",a,b,c,d);}当执行程序时,按下列方式输入数据(从第一列开始,<CR>代表回车,注意:回车是一个字符)12<CR>34<CR>则输出结果是:A、1234B、12C、12D、1216、以下关于C语言数据类型使用的叙述中错误的是:A、若要准确无误的表示自然数,应使用整数类型。

C语言程序设计参考答案及评分标准

C语言程序设计参考答案及评分标准

2010—2011学年度第一学期期末考试《C语言程序设计》试题( A卷)参考答案及评分标准(使用班级:11)制卷刘刚审核一、选择题(15分,1分/题)1. C2. B3. C4. C5. D6. A7. B8. C9. C10. B11. D12. C13. D14. C15. C二、判断题(10分,1分/题)1. ×2. ⨯3. √4. ×5. √6. √7. √8. √9. ×10. √三、填空题(10分,2分/题)1. 1111 1111 1111 10002. 0,13. 取变量的地址取地址中的值4. 45. 打开文本文件追加四、程序阅读(30分,5分/题)1. s=302. 10 %d &a[i]i % 4 printf(“\r\n”)3. 程序功能:从键盘输入一长度不大于100的字串,将该字串逆序存放后输出。

4. 程序运行结果:165. abcDefghi6. 程序运行结果:x begins as 1add 1 to make 2substract 1 to make 1substract 1 to make 0add 1 to make 1add 1 to make 2x winds up as 2五、程序设计题(15分,5分/题)1. #include "stdio.h"main(){int a, b, c, d ;printf ( "Please input a,b\n");scanf ( "%d, %d ", &a, &b);c=a*a+b*b;if ( c>100 ){d=c/100;printf("%d→%d\n", c, d);}elseprintf (" a+b=%d\n", a+b);}2. #include "stdio.h"void necryption_de(char *,int);main(){char str[100];int pw=23;printf("Please input a string(Str_length<100): ");gets(str);necryption_de(str,pw); /*necryption*/printf("%s\r\n",str);necryption_de(str,pw); /*decrypt*/printf("%s\r\n",str);}void necryption_de(char *str,int pw){ /*necryption and decrypt*/ while (*str!='\0')*str++^=pw;}3. #include <stdio.h>#include <string.h>main(){char s1[101],s2[51];int i,n1,n2;printf(“Please input string1: ”);gets(s1);printf(“Please input string2: ”);gets(s2);n1=strlen(s1);n2=strlen(s2);for (i=0;i<n2;i++)s1[i+n1]=s2[i];s2[n1+n2]=’\0’;printf(“%s\r\n”,s2);}六、综合与创新能力测试题(20分,10分/题)1. #include <stdio.h>int age(int);main(){int n=5,m;m=age(n);printf(“%d\r\n”,m);}int age(int n){int c;if(n==1) c=10;else c=age(n-1)+2;return(c);}2. #include "math.h"main(){int i,j,k,c;for(i=1;i<=9;i++) /* i:车号前二位的取值*/for(j=0;j<=9;j++) /* j:车号后二位的取值*/if( i!=j ){ /* 判断两位数字是否相异*/k=i*1000+i*100+j*10+j; /* 计算出可能的整数*/for( c=31;c*c<k;c++); /* 判断该数是否为另一整数的平方*/ if(c*c==k)printf("Lorry_No. is %d .\n", k); /* 若是,打印结果*/}}。

2010上半年计算机等考二级C语言真题及答案

2010上半年计算机等考二级C语言真题及答案

《C++语言程序设计》第一次作业讲评说明:本次作业对应教材第一、二、三章的内容。

【讲评】本章主要考核大家对C++语言的基本概念、基本数据类型和表达式、流程控制的掌握程度,其中有一些需要记忆的概念,但多数问题还是需要理解的,希望通过作业讲评能够帮助大家把学习中的难题一一解决。

下面是对部分问题的讲评。

一、填空题1.C++语言中的每条基本语句以;作为结束符,每条复合语句以}作为结束符。

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

3.当不需要函数返回任何值时,则应把该函数类型定义为void 。

4.执行“cout<<143<<’+’<<18<<’=’<<143+18<<endl;”语句后得到的输出结果为143+18=161。

【讲评】这里143、’+’、18和’=’分别是整型变量、字符常量、整型变量和字符常量,在通过cout输出语句时直接将其值输出,而143+18是一个表达式,需要计算加法后输出其值。

5.执行“cout<<“ning”<<“chen”<<38<<endl;”语句后得到的输出结果为ningchen38 。

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

7.C++源程序文件的缺省扩展名为.cpp ,由C++源程序文件编译而成的目标文件的缺省扩展名为.obj,由C++目标文件连接而成的可执行文件的缺省扩展名为 .exe。

8.程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用空格或回车符号作为分隔符。

9.十进制数25表示成符合C++语言规则的八进制和十六进制数分别为031和0x19符号。

10.在C++语言中,用转义字符序列‘\n’或操纵符endl表示输出一个换行符。

11.执行“cout<<char(’b’+2)<<endl;”语句后得到的输出结果为d。

2010-a答案 山东建筑大学c语言试题

2010-a答案  山东建筑大学c语言试题

2009/2010学年第1学期C语言及程序设计试卷A标准答案及评分标准使用班级:土木081-7、环本081-2、水工081-5、交通081-2一、单项选择题(每题2分,共30分)(1)~(5)DCDBD(6)~(10)BDDCD(11)~(15)CACAB二、分析程序,写出运行结果(每题4分,共20分)1)3/4=03%4=32}x=23)1121231234123454)10.20 5.00 30.60 9.50 50.505)m=10,row=2,col=1三、按要求将程序填写完整(每空3分,共30分)(1)“%f”,&f)(2)5.0/9.0*(f-32) 或(float)5/9*(f-32) 或5*(f-32)/9(3)isprime(m) 或isprime(m)==1(4)return flag;(5)sum=1(6)sum+1.0/n或sum+(float)1/n(7)i<N/2(8)a[N-1-i](9)void prtfac(int x) 或void prtfac(int)(10)p rtfac(x)四、根据题目要求编写完整程序(每题10分,共20分)1、声明int i;double t,s;各1分共2分,初始化t=1;s=t; 各1分共2分,for(i=1;i<=63;++i) 2分,迭代t=t*2;s=s+t; 各1.5分共3分,输出1分#include<stdio.h>void main( ){ int i;double t,s;t=1;s=t;for(i=1;i<=63;++i){t=t*2;s=s+t;}printf(“s=%.0f\n",s);}#include<stdio.h>void main( ){ int i;double t,s;t=1;s=0;for(i=0;i<=63;++i){s=s+t;t=t*2;}printf(“s=%.0f\n",s);}2、声明int a[M][N],i,j,sum;2分,输入2分,处理5分,输出1分#define M 5#define N 3#include <stdio.h>void main(){ int a[M][N],i,j,sum;for(i=0;i<M;++i)for(j=0;j<N;++j)scanf(“%d”,&a[i][j]);printf(“学号\t平均分\n“);for(i=0;i<M;++i){sum=0;for(j=0j<N;++j)sum+=a[i][j];printf(“%d\t%.2f\n“,i+1,(float)sum/N);}}或用简单变量#define M 5#define N 3#include <stdio.h>void main(){ int a1,a2,a3,i,sum;printf(“学号\t平均分\n“);for(i=1;i<=M;++i){sum=0;s canf(“%d”,&a1); scanf(“%d”,&a2); scanf(“%d”,&a3);sum+=a1+a2+a3;printf(“%d\t%.2f\n“,i,(float)sum/N);}}。

二级C语言真题2010年09月及答案

二级C语言真题2010年09月及答案

2010年9月全国计算机等级考试二级笔试试卷C语言程序设计一、选择题下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的(1) 下列叙述中正确的是( )。

A) 线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B) 线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构 C) 线性表的链式存储结构所需要的存储空唰一般要少于顺序存储结构 D) 上述三种说法都不对(2) 下列叙述中正确的是( )。

A) 在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化 B) 在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化 C) 在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D) 上述三种说法都不对(3) 软件测试的目的是( )。

A) 评估软件可靠性 B) 发现并改正程序中的错误 C) 改正程序中的错误 D) 发现程序中的错误(4) 下面描述中,不属于软件危机表现的是( )。

A) 软件过程不规范 B) 软件开发生产率低 C) 软件质量难以控制 D) 软件成本不断提高(5) 软件生命周期是指( )。

A) 软件产品从提出、实现、使用维护到停止使用退役的过程 B) 软件从需求分析、设计、实现到测试完成的过程 C) 软件的开发过程 D) 软件的运行维护过程(6) 面向对象方法中,继承是指( )。

A) 一组对象所具有的相似性质 B) 一个对象具有另一个对象的性质 C) 各对象之间的共同性质 D) 类之间共享属性和操作的机制(7) 层次型、网状型和关系型数据库划分原则是( )。

A) 记录长度 B) 文件的大小 C) 联系的复杂程度 D) 数据之间的联系方式(8) 一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间的联系是( )。

A) 一对一 B) 一对多 C) 多对多 D) 多对一(9) 数据库设计中反映用户对数据要求的模式是( )。

A) 内模式 B) 概念模式 C) 外模式 D) 设计模式(10) 有三个关系R、S和T如下:则由关系R和S得到关系T的操作是( )。

全国2010年10月高等教育自学考试C++程序设计试题及参考答案

全国2010年10月高等教育自学考试C++程序设计试题及参考答案

全国2010年10月高等教育自学考试C++程序设计试题课程代码:04737一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

错选、多选或未选均无分。

1.C++中注释“∥”的有效范围是( A )A.从“∥”开始到行尾B.从“∥”开始到下一个“∥”C.“∥”及其后一个字符D.从“∥”开始到程序尾2.假定MyClass为一个类,则该类的复制构造函数的声明语句为( C )A.MyClass&(MyClass x);B.MyClass(MyClass x);C.MyClass(MyClass &x);D.MyClass(MyClass *x);3.下列选项不是C++关键字的是()A.typedefB.voidC.boolD.inc4.用于标识十进制常量的前缀或后缀是()A.无前后缀B.后缀L或lC.前缀0D.前缀0x5.设int x=56;int r=x;若cout <<&x;显示0012FF7A,则cout <<&r;输出值为()A.56B.00l2FF7AC.0012FF7BD.未知6.使用下列哪个流格式控制符可设置转换基数为八进制()A.decB.octC.hexD.endl7.C++中是否允许在类结构中定义函数()A.不允许B.允许C.仅允许定义构造函数D.只不允许定义构造函数8.设函数void subone(int &)将形参减1,如有整型变量int k=10,则执行subone(k);后,k的值为()A.9B.10C.11D.未知9.对函数int max(int a,int b=0,int c=0,int d=0,int e=0);下列调用方式正确的是()A.int m=max(10,11,12,13,14);B.int m=max(10,,12,13,14);C.int m=max(10,1l,,13,14);D.int m=max(10,11,12,,14);10.类MyClass的定义如下:class MyClass{public:MyClass(){}MyClass(int i){value=new int(i);}int * value;};若要对value赋值,则下面语句正确的是()A.MyClass my;my.value=10;B.MyClass my;*my.value=10;C.MyClass my;my.*value=10;D.MyClass my(10);11.包含哪种语句的函数不能声明为内联函数()A.变量定义B.if……elseC.位操作D.switch12.声明函数模板的关键字是()A.inlineB.templateC.constD.short13.对于类中的成员,使用public修饰,表明该成员的访问权限是()A.公有的B.私有的C.保护的D.不可见的14.一个类中是否可以允许一个无参数构造函数和一个全部都是默认参数的构造函数共存()A.不允许B.允许C.无法确定D.视构造函数的函数,可确定15.析构函数的参数个数为()A.0个B.1个C.至少1个D.多于1个16.非静态成员函数都会有一个隐含指针,它是()A.self指针B.this指针C.current指针D.one指针17.下列访问公有静态成员的方式,错误的是()A.类名::静态成员名B.对象名.静态成员名C.对象指针->静态成员名D.对象指针.静态成员名18.声明友元使用下列哪个关键字()A.class B.constC.friend D.virtual19.派生类继承了基类的()A.所有成员B.部分成员C.数据成员D.成员函数20.基类private成员,通过public派生,其在派生类中为()A.private B.protectedC.public D.不可访问二、填空题(本大题共20小题,每小题1分,共20分)请在每小题的空格中填上正确答案。

C语言程序设计期末考试题及答案教案资料

C语言程序设计期末考试题及答案教案资料

期末模拟考试题�一�
一�选择题�2’*25=50’ 1�十进制数 269 转换成十六进制数是 A)10E B)10D C)10C D)10B 2� 若 i,j 已定义为 int 类型�则以下程序段中内循环体的总的执行次数是 for (i=5;i;i--) for(j=0;j<4;j++){...} A)20 B)25 C)24 D)30 3� 若有以下定义和语句: char *s1="12345",*s2="1234"; printf("%d\n",strlen(strcpy(s1,s2))); 则输出结果是 A) 4 B)5 C)9 D)10 4� 若有以下定义和语句: int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则不能表示 a 数组元素的表达式是 A) *p B) a[10] C) *a D) a[p-a] 5�设有如下定义�int x=l�y=-1��则语句�printf("%d\n"�(x--&++y))�的输出结 果是 A)1 B)0 C)-1 D)2 6�当 c 的值不为 0 时�在下列选项中能正确将 c 的值赋给变量 a、b 的是 A)c=b=a� B)(a=c)‖(b=c)� C)(a=c)&&(b=c)� d)a=c=b� 7�以下程序的输出结果是 A)10 1 9 2 B)9 8 7 6 C)10 9 9 0 D)10 10 9 1 main( ) { int x=10�y=10�I� for(i=0�x8�y=++i) printf("%d�%d "�x--�y)� } 8� 下面程序的输出是 main() { char *s="121"; int k=0, a=0, b=0; do { k++; if(k%2==0) {a=a+s[k]-'0'; continue;} b=b+s[k]-'0'; a=a+s[k]-'0'; }while (s[k+1]); printf("k=%d a=%d b=%d\n",k,a,b); }

C语言程序设计10年A卷试题及答案

C语言程序设计10年A卷试题及答案
}
}
void print(char *name[], int n)
{
int i;
for(i=0;i<n;i++)
puts(name[i]);
}
5.写出下列程序的输出结果
# include <stdio.h>
struct st
{
int num;
char name[10];
int age
}x[3]={1,”zhang”,19},{2,”li”, 20},{3,”wang”,21}}, *p=x;
# include <stdio.h>
# include <string.h>
# define N 10
int main()
{
char a[N][81], m[81];
int i, k;
for(i=0;i<N;i++)
gets((7));
(8) ;
for(i=1;i<N;i++)
if(strlen(a[i])>strlen(m))
scanf("%d",&n);
for(i=1;i<=n;i++)
{ for(j=1;j<=(11);j++)
printf(" ");
for(j=1;j<=(12);j++)
printf("*");
printf("\n");
}
for(i=(13);i>=1;i--)
{ for(j=1;j<=(14)j++)

C语言程序设计期末测试题及答案(5套)

C语言程序设计期末测试题及答案(5套)

大学题库C语言程序设计期末模拟测试题及答案 2010年11月目 录期末模拟考试题(一) (3)期末模拟测试题(一)参考答案 (10)期末模拟考试题(二) (11)期末模拟测试题(二)参考答案 (18)期末模拟考试题(三) (19)期末模拟测试题(三)参考答案 (26)期末模拟考试题(四) (27)期末模拟测试题(四)参考答案 (34)期末模拟考试题(五) (35)期末模拟测试题(五)参考答案 (49)期末模拟考试题(一)一.选择题:2’*25=50’1.十进制数269转换成十六进制数是A)10E B)10D C)10C D)10B2. 若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是 for (i=5;i;i--)for(j=0;j<4;j++){...}A)20 B)25 C)24 D)303. 若有以下定义和语句:char *s1="12345",*s2="1234";printf("%d\n",strlen(strcpy(s1,s2)));则输出结果是A) 4 B)5 C)9 D)104. 若有以下定义和语句:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则不能表示a数组元素的表达式是A) *p B) a[10] C) *a D) a[p-a]5.设有如下定义:int x=l,y=-1;,则语句:printf("%d\n",(x--&++y));的输出结果是A)1 B)0 C)-1 D)26.当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是A)c=b=a; B)(a=c)‖(b=c);C)(a=c)&&(b=c); d)a=c=b;7.以下程序的输出结果是A)10 1 9 2 B)9 8 7 6 C)10 9 9 0 D)10 10 9 1main( ){ int x=10,y=10,I;for(i=0;x8;y=++i)printf("%d,%d ",x--,y);}8. 下面程序的输出是main(){ char *s="121";int k=0, a=0, b=0;do { k++;if(k%2==0) {a=a+s[k]-'0';continue;}b=b+s[k]-'0';a=a+s[k]-'0';}while (s[k+1]);printf("k=%d a=%d b=%d\n",k,a,b);}A)k=3 a=2 b=3 B)k=3 a=3 b=2 C)k=2 a=3 b=2 D)k=2 a=2 b=39.下面程序的输出是main(){ unsigned a=32768;printf("a=%d\n",a);}A)a=32768 B)a=32767 C)a=-32767 D)a=-110. 若有以下定义:float x;int a,b;则正确的switch 语句是A)switch(x) B)switch(x){ case1.0:printf("*\n"); { case1,2:printf("*\n");case2.0:printf("**\n"); case3:printf("**\n");} }C)switch (a+b) D)switch (a+b);{ case 1:printf("\n"); { case 1:printf(."*\n");case 1+2:printf("**\n"); case 2:printf("**\n");} } 11.以下程序运行后,如果从键盘上输入ABCDE,则输出结果为A) 8 B)7 C)6 D)5# include# includefuch (char str [ ] ){ int num =0;while (*(str +num )!='\0') num ++;return(num );}main(){ char str [10],*p=str ;gets(p);printf("%d\n",func(p));}12.运行以下程序后,如果从键盘上输入china#,则输出结果为A) 2,0 B)5,0 C) 5,5 D)2,5# includemain( ){ int v1=0,v2=0;char ch ;while ((ch=getchar())!='#')switch (ch ){ case 'a':case 'h':default: v1++;case '0':v2++;}printf("%d,%d\n",v1,v2);13.以下程序运行后,输出结果是A) 49.5 B) 9.5 C)22.0 D)45.0# include# define PT 5.5# difine s(x) pt*x*xmain(){ int a=1,b=2;printf ("%4.lf/n",S(a+b));} 14.以下程序执行后a的值是A)4 B)1 C)0 D)运行时出错,a无定值main(){ int a,k=4,m=6,*p1=&k,*p2=&m;a=p1==&m;printf("%d\n",a);} 15.以下程序运行后,输出结果是A)84 B)99 C)95 D)44int d=1l ;fun (int p){ int d=5;d+=p++;printf("%d",d);}main(){ itn a=3;fun(a);d+=a++;printf("%d\n",d);} 16.下面程序的运行结果是:# include <stdio.h>main(){ int i,j,x=0;for(i=0;i<2;i++){ x++;for(j=0;j<=3;j++){ if(j%2) continue;x++;}x++;}printf(“x=%d\n”,x);}A) x=4 B)x=8 C)x=6 D)x=1217.以下程序运行后,输出结果是A) 1 B) 7 C)9 D)11fut (int **s,int p[2][3]){ **s=p[1][1];}main(){ int a[2][3]={1,3,5,7,9,11},*p;p=(int *)malloc(sizeof(int))lfut (&p,a);printf("%d\n",*p);}18.设有如下定义:int a=1,b=2,c=3,d=4,m=2,n=2;则执行表达式:(m=a>b)&&(n=c>d)后,n的值为A) 1 B)2 C)3 D)019.请读程序:# define LETTER 0main(){ char str[20]=”C Language”,c;int i;i=0;While((c=str[i])!=’\0’{ i++;# if LETTERif(c>=’a’&&c<=’z’)c=c-32;# elseif(c>=’A’&&c<=’Z’)c=c+32;# endifprintf(“%c”,c);}上面程序的运行结果是:A) C Language B) c languageC) C LANGUAGE D) c lANGUAGE20. 假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的DOS提示符下键入:PROG ABCDEFGH IJKL<回车>,则输出结果为A) ABCDEFG B) IJHL C) ABCDEFGHIJKL D) IJKLABCDEFGHmain( int argc, char *argv[])){ while(--argc>0) printf("%s",argv[argc]);printf("\n");}21. 以下程序的输出结果是A) 1 B) 2 C) 3 D) 4long fun( int n){ long s;if(n= =1 || n= =2) s=2;else s=n-fun(n-1);return s;}main(){ printf("%ld\n", fun(3)); }22. 以下程序的输出结果是A) 16 B) 2 C) 9 D) 1#define SQR(X) X*Xmain(){ int a=16, k=2, m=1;a/=SQR(k+m)/SQR(k+m);printf("%d\n",a);}23.若有以下说明和语句:struct student{ int age;int num;} std,*p;p=&std;则以下对结构体变量std中成员age的引用方式不正确的是:A) std.age B) p->age C) (*p).age D) *p.age24.以下程序的输出结果是:struct stu{ int x;int *y;} *p;int dt[4]={ 10,20,30,40};struct stu a[4]={ 50,&dt[0],60,&dt[1],70,&dt[2],80,&dt[3]}; main(){ p=a;printf(“%d,”,++p->x);printf(“%d,”,(++p)->x);printf(“%d\n”,++(*p->y));}A) 10,20,20 B) 50,60,21 C)51,60,21 D) 60,70,31 25.设有以下语句:char x=3,y=6,z;z=x^y<<2;则z的二进制值是:A)00010100 B)00011011 C)00011100 D)00011000二.判断题:1’*10=10’1.C语言规定在一个源程序中,main函数的位置必须在系统调用的库函数的后面。

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

2010—2011学年度第二学期期末考试《C语言程序设计》试题A卷09年级 90分钟2011年6月一、用C语言描述下列命题(每小题2分,共8分)1、a小于b或a小于c。

2、a或b其中之一小于c。

3、a和b中有一个是奇数。

4、无条件循环(while)。

二、填空(每小题2分,共10分)1、(FF)H =()2。

2、若一个二进制数的原码是X原=10010011,则反码是X反=()。

3、a+=a-=a*=a ( )。

4、C程序设计的基本结构有3种,分别是顺序结构、分支结构、()。

5、C函数结尾处,一般有return语句,其含义是()。

三、读程序,写出其结果(每小题5分,共10分)1、程序代码如下,结果是()。

#include <stdafx.h>int main(int argc,char *argv[]){int a=10,b=20;printf("%d",a>b?a:b);return 0;}2、程序代码如下,结果是()。

#include <stdafx.h>int main(int argc,char *argv[]){int i=8,j=10,m,n;m=++i; n=j++;printf("%d,%d,%d,%d",i,j,m,n);return 0;}四、程序填空(每空4分,共12分)输出杨辉三角形(要求输出10行)。

11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1……程序如下:#include "stdafx.h"int main(int argc, char* argv[]){int a[10][10];//构建杨辉三角形for(int i=0; i<10; i++){①;a[i][i]=1;}for( ②; i<10; i++)for(int j=1; j<i; j++)a[i][j]= ③;//以下是输出杨辉三角形for(i=0; i<10; i++){for(int j=0; j<=i; j++)printf("%5d ", a[i][j]);printf("\n");}return 0;}五、程序改错(在答题纸上写出改正后的语句)(共10分)下列给定程序中,函数fun的功能是:根据整型形参m的值,计算如下公式的值。

请改正函数fun中的二处错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include <stdafx.h>float fun(int m){float y = 1.0;int i;for (i=2; i<m; i++)y = y-1/(i*i);return(y);}main(){int n = 5;printf("\nThe result is %lf\n", fun(n));}六、算法和程序(第1小题7分,第2小题18分,第3小题25分,共50分)1、有两个瓶子A和B,分别盛放醋和酱油,要求将它们互换(即A瓶原来盛醋,现在改盛酱油,B瓶则相反)。

用N-S图表示解决问题的算法。

2、意大利数学家Fibonacci曾提出一个有趣的问题:设有一对新生兔子,从第三个月开始它们每月都生育一对兔子,按此规律并假设没有兔子死亡,一年后共有多少对兔子?用N-S图表示用数组求解前40个月兔子数的算法。

3、根据下面的N-S图,写出求解问题的VC++6.0程序代码。

其中:f为自定义函数,f(x)=2x3-4x2+3x-62010—2011学年度第二学期期末考试《C语言程序设计》试题标准答案及评分标准一、用C语言描述下列命题(每小题2分,共8分)1、a<b||a<c2、a<c||b<c3、a%2!=0||b%2!=04、while(1)评分标准:对则得分,否则不得分二、填空(每小题2分,共10分)1、(11111111)2 8个12、(01101100)3、04、循环结构5、结束该函数运行,并向主调函数返回值。

评分标准:对则得分,否则不得分三、读程序,写出其结果(每小题5分,共10分)1、20 评分标准:对则得分,否则不得分2、9,11,9,10 评分标准:数据对1个1分,有“,”1分四、程序填空(每空4分,共12分)① a[i][0]=1 评分标准:对则得分,否则不得分② i=2 评分标准:对则得分,否则不得分③ a[i-1][j-1]+a[i-1][j] 评分标准:对则得分,否则不得分五、程序改错(在答题纸上写出改正后的语句)(共10分)#include <stdafx.h>float fun(int m){float y = 1.0;int i;for (i=2; i<m; i++) //此语句改为for (i=2; i<=m; i++) y = y-1/(i*i); //此语句改为y = y-1.0/(i*i);return(y);}{int n = 5;printf("\nThe result is %lf\n", fun(n));}评分标准:改对则得分,改错不扣分六、算法和程序(第1小题7分,第2小题18分,第3小题25分,共50分)1、另找一个相同大小的瓶子CC=AA=BB=C评分标准:顺序结构2分,三步赋值3分,赋值能完成A、B值互换2分。

2、int a[40]={1,1}i=2当i<40a[i]=a[i-1]+a[i-2]i++输出第i+1月兔子数a[i]评分标准:迭代表达式a[i]=a[i-1]+a[i-2] 6分、有数组定义及初始化各2分、有循环设置2分、有输出1分。

循环体设计正确5分。

3、程序如下:#include <stdafx.h>#include <math.h>int main(int argc,char* argv[]){float x1,x2,fx1,fx2,x0,fx0;float f(float x);doprintf("请输入求值区间[x1,x2]:");scanf("%f%f",&x1,&x2);fx1=f(x1);fx2=f(x2);}while(fx1*fx2>=0);do{x0=(x1+x2)/2;fx0=f(x0);if(fx1*fx0<0){x2=x0;fx2=fx0;}else{x1=x0;fx1=fx0;}}while(fabs(fx0)>1e-5);printf("The root is :%f\n",x0);return 0;}float f(float x){return 2*x*x*x-4*x*x+3*x-6;}评分标准:预处理部分3分、主函数名1分、f函数4分、第一个循环8分(x1和x2正确输入3分、调用f函数计算fx1、fx2 2分、循环条件3分)第二个循环8分(x0和fx0 2分、条件分支中条件2分、分支2分、循环条件2分)、输出x0 1分。

荆楚理工学院2010—2011学年度第二学期期末考试《C语言程序设计》试题B卷机制专业09年级 90分钟2011年6月一、写出下面各逻辑表达式的值(每小题2分,共10分)设:a=3,b=4,c=5。

1、a+b>c && b==c2、a||b+c && b-c3、!(a>b) && !c||14、!(x=a) && (y=b) && 05、!(a+b)+c-1 && b+c/2二、填空(每小题2分,共10分)1、(FF)H=()2。

2、若一个二进制数的原码是X原=10010011,则反码是X反=()。

3、TC2.0中int a=-1,a在内存中的存储形式是()。

4、C程序设计的基本结构有3种,分别是顺序结构、分支结构、()。

5、C函数结尾处,一般有return语句,其含义是()。

三、读程序,写出其结果(每小题5分,共10分)1、程序代码如下,结果是()。

#include <stdafx.h>int main(int argc,char *argv[]){int x=10,y=20;printf("%d",x<y?y:x);return 0;}2、程序代码如下,结果是()。

#include <stdafx.h>int main(int argc,char *argv[]){int m=10;printf(“%d,%d,%d”,m,m++,++m);return 0;}四、程序填空(第1、2空各3分,第3空4分,共10分)以下程序将两个不超过20个字符的字符串连接起来生成新字符串。

#include "stdafx.h"int main(int argc, char* argv[]){char str1[]="hello";char str2[]=" world!";char str3[50];int i, j, k;//字符串连接for(i=0,k=0; ① ;i++,k++)str3[k]=str1[i];for( ② ;str2[i]!='\0';i++,k++)str3[k]=str2[i];③ ;printf("%s\n", str3);return 0;}五、程序改错(在答题纸上写出改正后的语句)(共10分)下面给定程序中,函数fun和funx的功能是:用二分法求方程2x3-4x2+3x-6=0的一个根,并要求绝对误差不超过0.001。

请改正函数fun中的二处错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include <stdafx.h>#include <math.h>float funx(float x){return (2*x*x*x - 4*x*x + 3*x - 6);}float fun(float m, float n){int r;r = (m+n)/2;while (fabs(n-m) < 0.001){if (funx(r)*funx(n) < 0)m = r;elsen = r;r = (m+n)/2; }return r; }main() {float m, n, root;printf("Enter m n : \n"); scanf("%f%f", &m, &n); root = fun(m, n);printf("root=%6.3f\n", root); }六、算法和程序(第小题25分,共50分)1、用二分法求函数f(x)=2x 3-4x 2+3x-6=0在区间[0,5]的解。

相关文档
最新文档