7-8-C语言上机考试试题3
全国计算机等级考试三级C语言上机题库(含答案,考试作弊必备)

题目1请编写一个函数jsValue(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k 个素数存入数组xx传回。
int isP(int m){int i;for(i=2;i<m;i++)if(m % i==0)return 0;return 1;}void num(int m,int k,int xx[]){ int s=0;for(m=m+1;k>0;m++)if(isP(m)) { xx[s++]=m; k--;}}☆题目2已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a 中,请考生编制一函数jsV al(),其功能是:如果四位数各位上的数字均是0或2或4或6或8,则统计出满足此条件的个数cnt,并把这些四位数按从大到小的顺序存入数组b中。
void jsVal(){ int i,j,qw,bw,sw,gw;for(i=0;i<MAX;i++){qw=a[i]/1000; bw=a[i]/100%10;sw=a[i]%100/10; gw=a[i]%10; if(qw&&qw%2==0&&bw%2==0&&sw%2==0&&gw%2==0) b[cnt++]=a[i];}for(i=0;i<cnt-1;i++)for(j=i+1;j<cnt;j++)if(b[i]<b[j]) { qw=b[i]; b[i]=b[j]; b[j]=qw;}}★题目3函数ReadDat( )实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中;请编制函数StrOR( ),其函数的功能是:以行为单位依次把字符串中所有小写字母o左边的字符串内容移到该串的右边存放,然后把小写字母o删除,余下的字符串内容移到已处理字符串的左边存放,之后把已处理的字符串仍按行重新存入字符串数组xx中。
C语言程序设计上机考试试题和参考答案

printf("Input str1:\n"); gets(str1); //1
printf("Input m and n:\n"); scanf("%d%d", &m, &n); //1
mystrcpy(str1, str2, m, n); //2 puts(str2); }
1、请按行读入数据 2、请按给定的函数原型编写程序,否则即使程序运行结果正确,也不给分。 参考答案
#include<stdio.h>
void Input(int a[][10], int n);
int Compute(int a[][10], int n);
main()
{
int n, a[10][10]; int sum;
//2
{
int i, flag = 0, sum = 0; //1
for (i = 1; i <= n / 2; i++) //1
{
if (n % i == 0)
//1
{
sum = sum + i; //1
}
}
if (sum == n)
//1
{
flag = 1;
}
return flag;
//1
} 3.(15 分)请按给定要求编程计算方阵的主对角线之和。其中方阵的输入请在 Input 函数实现,计算主对角之和请在 Compute 函数实现,计算结果请在主函数打印, 且给定的方阵最大为 10x10,方阵实际大小请在主函数读入。Input 函数和 Compute 函数的函数原型如下:
C语言试题3

C语言试题3一、选择题(每小题2分,共40分)1.下列属于整型常量的是________。
A.12B.12.0C.-12.0D.10E102.下列是字符串常量的是:()A.'HolleWorld'B."15"C.VC D.'m'3.下列表达式为关系表达式的为_________。
(其中a为一整型变量)A.3+4*5 B.a==10 C.a>0?a:-a D.a=14.下列对一维数组的声明正确的是:()A.int a(10);B.int n=10,a[n];C.int n;scanf(“%d”,&n);int a[n];D.#define SIZE10int a[SIZE];5.根据C语言的语法规则,下列________个是不合法用户标识符。
A.int B.array C.string1 D._exam6.设有说明:char w;int x;float y;double z;则表达式w*x+z-y 值的数据类型为。
A.float B char C int D double7.已知int x=5,y=6,z=7;以下语句执行后x,y,z的值是。
if(x>y)z=x;x=y;y=z;A)x=5,y=6,z=7B)x=6,y=7z=7C)x=6,y=5,z=5D)x=6,y=7,z=68.执行int a=8;a+=a*a;语句后,a的值是______。
A.24 B.64 C.72 D.5129.C语言用()表示逻辑“真”的值。
A.true B.t或y C.非零数D.整型值010.两个指针变量的值相等时,表明两个指针变量是________________。
A.占据同一内存单元。
B.指向同一内存单元地址或者都为空。
C.是两个空指针。
D.都没有指向。
11.字符串指针变量中存入的是________________。
A.字符串的首地址B.字符串C.第一个字符D.字符串变量。
C语言上机作业试题5套含答案

第一次上机作业(2021):要求:独立完成,上机调试通事后上交作业提交邮件主题命名:班级学号姓名(第1次作业),例如:电1301班2王鹏(第1次作业)以附件形式将每次作业的所有程序源程序紧缩打包后提交,紧缩文件命名格式同上。
程序必需采用缩进格式1.大写字母转换成小写字母从键盘输入一个大写英文字母,输出相应的小写字母。
例:输入G输出g2.求平方根输入一个实数x,计算并输出其平方根(保留1 位小数)。
例:输入17输出The square root of is3.温度转换设计一个程序将华氏温度转换成摄氏温度c = 5/9(f-32)a)输入华氏温度(实型)b)输出的摄氏温度结果保留两位小数例:Please input Fahrenheit temperature:The corresponding Celsius temperature is4. 计算旅途时刻输入二个整数time1 和time2,表示火车的起身时刻和抵达时刻,计算并输出旅途时刻。
(输入的有效的时刻范围是0000 到2359,不需要考虑起身时刻晚于抵达时刻的情形。
)例:输入712 1411 (起身时刻是7:12,抵达时刻是14:11)输出The train journey time is 6 hours 59 minutes.5. 数字加密输入一个四位数,将其加密后输出。
方式是将该数每一名上的数字加9,然后除以10 取余,做为该位上的新数字,最后将第1 位和第3 位上的数字互换,第2 位和第4 位上的数字互换,组成加密后的新数。
例:输入1257输出The encrypted number is 4601试探题:你可否编程找出谁做的好事?有四位同窗中的一名做了好事,不留名,夸奖信来了以后,校长问这四位是谁做的好事。
⏹A说:不是我。
⏹B说:是C。
⏹C说:是D。
⏹D说:他乱说。
已知三个人说的是实话,一个人说的是谎话。
此刻要依照这些信息,找出做了好事的人。
C语言程序设计模拟试题3(附答案)

《C语言程序设计》模拟试卷三一、填空题。
(每空2分,共16分)1.在内存中,短整型变量占字节,单精度实型变量占字节,字符型变量占字节。
2.一个C语言文件就是由若干个组成。
3.设有以下变量定义,并已赋确定得值char w; int x; float y; double z;则表达式:w*x+z-y所求得得数据类型为。
4.若x为int类型,请以最简单得形式写出与逻辑表达式!x等价得C语言关系表达式。
5.若有如下图所示五个连续得int类型得存储单元并赋值如下图,a[0]得地址小于a[4]得地址。
p与s就是基类型为int得指针变量。
请对以下问题进行填空。
a[0] a[1] a[2] a[3] a[4]p,给s赋值,使s指向最后一个存储单元a[4]得语句就是。
(2)若指针s指向存储单元a[2],p指向存储单元a[0],表达式s-p得值就是。
二、单项选择题。
(每题2分,共40分)1.设有 int x=11; 则表达式 (x++ * 1/3) 得值就是()。
A) 3 B) 4 C) 11 D) 122.下列程序得输出结果就是()。
A) 3 B) 3、2 C) 0 D) 3、07main(){double d=3、2; int x,y;x=1、2; y=(x+3、8)/5、0;printf(“%d \n”, d*y);}3.下列程序执行后得输出结果就是(小数点后只写一位)()。
A) 6 6 6、0 6、0 B) 6 6 6、7 6、7C) 6 6 6、0 6、7 D) 6 6 6、7 6、0main(){ double d; float f; long l; int i;i=f=l=d=20/3;printf("%d %ld %f %f \n", i,l,f,d);scanf("%d",&d);}4.下列变量定义中合法得就是()。
A) short _a=1-、le-1; B) double b=1+5e2、5;C) long do=0xfdaL; D) float 2_and=1-e-3;5.设 int x=1, y=1; 表达式(!x||y--)得值就是()。
C语言上机考试经典试题(3套)

四川省普通高等学校计算机应用知识和能力第二十八次等级考试二级(C与C++语言) 笔试试卷时间: 2008年4月19 日( 判断下列各题是否正确,如正确,在客观答题纸上对应编号选A,否则选B )1. 在程序设计中,常用一维数组来表示线性表的顺序存储空间。
( 1 )2. 数据在计算机内存中的表示是指数据的存储结构。
( 2 )3. Windows是多用户多任务操作系统。
( 3 )4. 能影响中断响应次序的技术是中断优先级和中断屏蔽。
( 4 )5. 链表可以随机访问任意一个结点,而顺序表则不能。
( 5 )6. 作业与进程的主要区别是前者是由用户提交,后者是由系统自动生成。
( 6 )7. 数据的逻辑结构是从逻辑关系上描述数据,它与数据的存储结构无关,是独立于计算机的。
( 7 )8. 中断控制方式适用于外存同CPU之间进行大量数据交换。
( 8 )9. 提供没有错误的程序是提高软件的可维护性的基本措施。
( 9 )10.软件结构是以指令为基础而组成的一种控制层次结构。
( 10 )二、选择题(每小题1分,共5分)1. 数据流图是用于描述结构化方法中(11 )工作阶段的工具。
11 (A) 可行性分析(B) 程序编码(C) 详细设计(D) 需要分析2. 若进栈序列为1,2,3,4,且进栈过程中可以出栈,则不可能的出栈序列是(12 )。
12 (A) 1,4,3,2 (B) 3,1,4,2(C) 2,3,4,1 (D) 3,4,2,13. 任何两个并发进程之间(13 )。
13 (A) 可能存在同步或互斥关系(B) 一定存在同步关系(C) 一定彼此独立无关(D) 一定存在互斥关系4. 以下的哪个特征不是分时操作系统的主要特征(14 )。
14 (A) 分时性(B) 独占性(C) 交互性(D) 多路性5. 需求分析中开发人员主要从用户那里了解(15 )。
15 (A) 软件的维护(B) 软件的结构(C) 软件做什么(D) 软件的测试1. C++语言对C语言做了很多改进,C++语言相对于C语言的最根本的变化是(16 )。
C语言上机试题

1: 第1题m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。
2: 第2题请编写函数fun,它的功能是:求出1到100之内能北7或者11整除,但不能同时北7和11整除的所有证书,并将他们放在a所指的数组中,通过n返回这些数的个数。
3: 第3题请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。
4: 第4题请编写一个函数void fun(char *tt,int pp[]),统计在tt字符中"a"到"z"26各字母各自出现的次数,并依次放在pp所指的数组中。
5: 第5题请编写一个函数void fun(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k各素数存入xx所指的数组中。
.6: 第6题请编写一个函数void fun(char a[],char[],int n),其功能是:删除以各字符串中指定下标的字符。
其中,a指向原字符串,删除后的字符串存放在b所指的数组中,n中存放指定的下标。
7: 第7题请编写一个函数int fun(int *s,int t,int *k),用来求除数组的最大元素在数组中的下标并存放在k所指的储存单元中。
8: 第8题编写函数fun,功能是:根据以下攻势计算s,计算结果作为函数值返回;n通过形参传入。
S=1+1/(1+2)+1/(1+2+3)+…….+1/(1+2+3+4+……+n)9: 第9题编写一个函数fun,它的功能是:根据以下公式求p的值,结果由函数值带回。
M与n为两个正整数,且要求m>n。
p=m!/n!(m-n)!10: 第10题编写函数fun,它的功能是:利用以下的简单迭代方法求方程cos(x)-x=0的一个实根。
c语言上机考试试题

c语言上机考试试题C语言上机考试试题在计算机科学领域中,C语言是一门重要的编程语言,广泛应用于软件开发、系统编程等方面。
作为计算机专业的学生,掌握C语言的基本知识和编程技巧是必不可少的。
为了检验学生对C语言的掌握程度,许多学校和培训机构会安排C语言上机考试。
下面,我们来看一些典型的C语言上机考试试题。
1. 编写一个程序,从键盘输入一个整数n,计算并输出1到n的累加和。
这道题考察了学生对循环结构的理解和运用。
学生需要使用循环语句(如for、while等)来实现累加的功能,并且注意输入的合法性。
2. 编写一个程序,从键盘输入一个字符串,统计并输出其中的字母、数字和其他字符的个数。
这道题考察了学生对字符串处理的能力。
学生需要使用字符数组和循环语句来逐个判断输入字符串中的字符,并根据字符的类型进行计数。
3. 编写一个程序,从键盘输入一个正整数n,判断并输出n是否为素数。
这道题考察了学生对素数判断的理解和实现。
学生需要使用循环语句和条件判断语句来判断n是否能被2到sqrt(n)之间的任意整数整除。
4. 编写一个程序,从键盘输入一个正整数n,计算并输出n的阶乘。
这道题考察了学生对递归的理解和应用。
学生可以使用递归函数来实现阶乘的计算,也可以使用循环语句来实现。
5. 编写一个程序,从键盘输入一个字符串,将其中的大写字母转换为小写字母,并输出转换后的字符串。
这道题考察了学生对字符处理的能力。
学生需要使用字符数组和循环语句来逐个判断输入字符串中的字符,并根据字符的ASCII码进行转换。
6. 编写一个程序,从键盘输入一个字符串,判断并输出该字符串是否为回文字符串。
这道题考察了学生对字符串处理和回文判断的能力。
学生需要使用字符数组和循环语句来逐个比较输入字符串中的字符,并判断是否为回文字符串。
通过上述的典型试题,我们可以看到C语言上机考试主要考察学生对基本语法、流程控制、数组和字符串处理等方面的掌握程度。
在解答这些试题时,学生需要注重代码的逻辑性、清晰性和效率性,避免出现死循环、数组越界等常见错误。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言上机考试试题-3一、选择题(评分标准 20 分,每小题2分)1. 以下选项中可作为C语言合法常量的是________。
(A) -80. ( B) -080 (C) (D)2. 以下叙述中正确的是________。
(A) 用C程序实现的算法必须要有输入和输出操作(B) 用C程序实现的算法可以没有输出但必须要输入(C) 用C程序实现的算法可以没有输入但必须要有输出(D) 用C程序实现的算法可以既没有输入也没有输出3. 已有定义:char a[]="xyz",b[]={'x','y','z'};,以下叙述中正确的是________。
(A) 数组a和b的长度相同 (B) a数组长度小于b数组长度(C) a数组长度大于b数组长度 (D) 上述说法都不对4. 以下叙述中错误的是________。
(A) 数组名代表的是数组所占存储区的首地址,其值不可改变。
(B) 当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息。
(C) 对于double类型数组,不可以直接用数组名对数组进行整体输入或输出。
(D) 可以通过赋初值的方式确定数组元素的个数。
5. 以下叙述中正确的是________。
(A) 预处理命令行必须位于源文件的开头(B) 在源文件的一行上可以有多条预处理命令(C) 宏名必须用大写字母表示(D) 宏替换不占用程序的运行时间6. 表达式strlen(”hello”) 的值是________。
(A)4 (B)5 (C)6 (D)77. 设变量定义为“int a, b;”,执行语句scanf(“a=%d, b=%d”,&a, &b);时,输入________,则a和b的值都是10。
(A)10 10 (B)10, 10 (C)a=10 b=10 (D)a=10, b=108. 以下与函数fseek(fp,0L,SEEK_SET)有相同作用的是_______。
(A) feof(fp) (B) ftell(fp) (C) fgetc(fp) (D) rewind(fp)9. 以下语句或语句组中,能正确进行字符串赋值的是________。
(A) char *sp="right!"; (B) char s[10];s="right!";(C) char s[10];*s="right!"; (D) char *sp;*sp="right!";10. 设变量定义为“int a[4];”,则表达式________不符合C语言语法。
(A)*a (B)a[0] (C)a (D)a++套数号答案3二、判断题(评分标准20分,每小题2分)1. 一个C程序的执行是从本程序文件的第一个函数开始,到main函数结束。
2. 在C程序中,用整数0表示逻辑值“假”。
3. C语言中 while 和 do-while 循环的主要区别是do-while的循环体至少无条件执行一次。
4. 设变量定义为char s[]=“hello”,则数组s中有6个元素。
5. 对以下语句的正确理解是将5 个初值依次赋给 a[6] 到a[10]。
int a[10] = {6, 7, 8, 9, 10};6. 若变量已正确定义,表达式x=y=1符合C语言语法。
7. 表达式!(x>0‖y>0)等价于!(x>0&&!(y>0)。
8. C语言规定简单变量作实参时,它与对应形参之间的数据传递方式是实参和形参间来回传递。
9. 在C源程序中将语句“if(x==5) y++;”误写成“if(x=5) y++;”,将导致编译错误。
10. fscanf函数的正确调用格式为:fscanf (fp, 格式字符串,输出表列); 。
三、填空题(评分标准10分,每小题2分)1. 在C语言中,NULL的数值为________。
2. 如果定义结构体struct student {int id;int age;} * s;则如果要表示其成员变量id,可以用________。
3. C程序是由函数构成的。
其中有并且只能有________个主函数。
4. 在内存中存储“A”要占用________个字节。
5. 若定义:int a=88,*b=&a;,则printf("%d\n",*b);的输出结果为。
四、程序改错题(评分标准20分,每小题5分)1. 假设该程序输入10个数字:1 2 3 4 5 6 7 8 9 10,则程序运行结果: -- 。
#include <>void main(){ int i;int a[10];for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<10;i++){ if (a[i]%2=0) /*$*/continue;elseprintf("%d--",a[i]);}}操作说明:在考生目录的**子目录下,有*.c文件,该文件中“/*$1*/”行中的语句if (a[i]%2=0) 有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。
该程序功能:该程序输入10个数字:1 2 3 4 5 6 7 8 9 10。
程序运行后输出结果为: -- 。
答案:if(a[i]%2==0)运行样例1行运行样例1:1 3 2 6 10 20 8 12 5 3 运行结果:2. 以下程序的功能是输入一个正整数,判断是否是素数,若为素数输出1,否则输出0。
#include <>void main(){ int i, x, y=1;scanf("%d", &x);for(i=2; i>x/2; i++) /*$1*/if(x%i==0){ y=0;break;}printf("%d\n",y);}操作说明:在考生目录的**子目录下,有*.c文件,该文件中“/*$1*/”行中的语句for(i=2; i>x/2; i++)有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。
该程序功能:输入一个正整数,判断是否是素数,若为素数输出1,否则输出0。
答案:for(i=2; i<=x/2; i++)运行样例1行运行样例1:7 运行结果:13. 假设该程序输入两个数据:2 3,程序运行结果为:2。
#include ""int *fun(int *a,int *b){ int m;m=*a;m+=*b-3;return(m); /*$*/}void main(){ int x,y;int *a=&x,*b=&y;int *k;scanf("%d%d",&x,&y);k=fun(a,b);printf("%d\n",*k);}操作说明:在考生目录的**子目录下,有*.c文件,该文件中“/*$1*/”行中的语句return(m); 有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。
该程序功能:假设该程序输入两个数据:2 3,则程序运行结果为:2。
答案:return(&m);运行样例1行运行样例1:5 4 运行结果:64. 本程序功能:实现对字符数组的倒序。
输入字符串:hg25DA, 输出结果: str now is AD52gh #include <>#include <>#include <>int main(){ char str[50] ;int length = strlen(str);char * p1 = str;char * p2;scanf("%s",str);length = strlen(str);p2 = str + length; /*$*/while(p1 < p2){ char c = *p1;*p1 = *p2;*p2 = c;++p1;--p2;}printf("str now is :%s\n",str);return 0;}操作说明:在考生目录的**子目录下,有*.c文件,该文件中“/*$1*/”行中的语句p2 = str + length; 有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。
该程序功能:实现字符串的逆转功能。
例如:该程序输入:hg25DA,程序输出结果: str now is:AD52gh答案: p2 = str + length – 1;运行样例1行运行样例1:SH87ch 运行结果:str now is:hc78HS五、程序填空(评分标准10分,每小题5分)1. 阅读以下程序,假设输入为it6y7hh9e,请写出运行后的结果。
#include <>#include <>#include <>void f(char *s){ int i=0;while(s[i]!='\0')if(isdigit(s[i]))/*$*/else i++;}void main(){ char str[80];gets(str);f(str);puts(str);}操作说明:在考生目录的**子目录下,有*.c文件,该文件中“/*$1*/”行是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。
该程序功能:删除字符串中的数字字符。
这里用到isdigit()函数,所以需要在前加 #include <>。
答案:strcpy (s+i,s+i+1);运行样例1行运行样例1:i52love89y793ou 运行结果:iloveyou2. 以下程序对进行读操作,并将读出的文本输出到屏幕上。
#include <>#include <>void main(){ FILE *fp;char ch;fp = fopen("", "r");if (fp == NULL){ printf("can not open test\n");exit(0);}ch = fgetc(fp);while(/ *$* /){ putchar(ch);ch = fgetc(fp);}fclose(fp);}操作说明:在考生目录的**子目录下,有*.c文件,该文件中“/*$1*/”行是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。