C语言上机试题答案
C语言上机考试试题9
C 语言上机考试试题-9一、选择题(每小题2分)1. 用数组名作为函数的实参时,传递给函数的形参是________。
(A) 数组的首地址(B) 数组的第1个元素(C) 数组中的全部元素(D) 数组的元素个数2. 下列定义一维数组正确的写法是________。
(A) int a(10); (B) int n=10, a[n];(C) int n; (D) #define SIZE 10scanf(“%d”,&n); int a[SIZE];int a[n];3. 下述函数头定义形式正确的是________。
(A) int f(int x; int y) (B) int f(int x,y)(C) int f(int x, int y) (D) int f(x,y: int)4. 以“只读”方式打开文本文件c:\xy.txt,下列语句中哪一个是正确的________。
(A) fp=fopen("c:\\xy.txt","a"); (B) fp=fopen("c:\\xy.txt","r");(C) fp=fopen("c:\\xy.txt","wb"); (D) fp=fopen("c:\xy.txt","r");5. 判断变量x和y中有且只有一个值为0成立的表达式为________。
(A) !(x*y)&&x+y (B) (x*y)&&x+y(C) x*y==0 (D) x==0&&y!=06. 设有如下定义:struct ss{ char name[10];int age;char sex;} std[3],*p=std;下面各输入语句中错误的是________。
(A) scanf("%d",&(*p). age); (B) scanf("%s",&);(C) scanf("%c",&std[0].sex) (D) scanf("%c",&(p-> sex));7. 语句“int a=0; if(a=1) a+=10;” 编译不会出错,但运行后a的值是________。
计算机二级C语言上机复习题及答案解析范文一份
计算机二级C语言上机复习题及答案解析范文一份计算机二级C语言上机复习题及答案解析 1计算机二级C语言上机复习题及答案解析填空题给定程序中,函数fun的功能是:在形参ss所指字符串数组中,查找含有形参substr所指子串的所有字符串并输出,若没找到则输出相应信息。
ss所指字符串数组__有N个字符串,且串长小于M。
程序中库函数strstr(s1, s2)的功能是在s1串中查找s2子串,若没有,函数值为0,若有,为非0。
请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!给定源程序:#include#include#define N 5#define M 15void fun(char (*ss)[M], char *substr){ int i,find=0;for(i=0; i __1__ ; i++)if( strstr(ss[i], __2__) != NULL ){ find=1; puts(ss[i]); printf(“\n"); }if (find==__3__) printf("\nDon't found!\n");}main(){ char x[N][M]={"BASIC","C langwage","Java","QBASIC","Access"},str[M];int i;printf("\nThe original string\n\n");for(i=0;i printf("\nEnter a string for search : "); gets(str);fun(x,str);}解题思路:本题是根据给定的字符串数组中查找指定的字符串,如果存在,则显示。
7-8-C语言上机考试试题3
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)有相同作用的是_______。
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语言考试上机试题及答案
xx年计算机二级C语言考试上机试题及答案1.算法的空间复杂度是指( )。
A.算法程序的长度B.算法程序中=的指令条数C.算法程序所占的存储空间D.算法执行过程中所需要的存储空间2.以下表达中正确的选项是( )。
A.一个逻辑数据构造只能有一种存储构造B.逻辑构造属于线性构造,存储构造属于非线性构造C.一个逻辑数据构造可以有多种存储构造,且各种存储构造不影响数据处理的效率D.一个逻辑数据构造可以有多种存储构造,且各种存储构造影响数据处理的效率3.简单的交换排序方法是( )。
A.快速排序B.选择排序C.堆排序D.冒泡排序4.关于构造化程序设计原那么和方法的描述错误的选项是( )。
A.选用的构造只准许有一个入口和一个出口B.复杂构造应该用嵌套的根本控制构造进展组合嵌套来实现C.不允许使用GOT0语句D.语言中假设没有控制构造,应该采用前后一致的方法来模拟5.相对于数据库系统,文件系统的主要缺陷有数据关联差、数据不一致性和( )。
A.可重用性差B.平安性差C.非持久性D.冗余性6.面向对象的设计方法与传统的面向过程的方法有本质不同,它的根本原理是( )。
A.模拟现实世界中不同事物之间的联系B.强调模拟现实世界中的算法而不强调概念C.使用现实世界的概念抽象地思考问题从而自然地解决问题D.不强调模拟现实世界中的算法而强调概念7.对如下二叉树进展后序遍历的结果为( )。
A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA8.软件设计包括软件的构造、数据接口和过程设计,其中软件的过程设计是指( )。
A.模块间的关系B.系统构造部件转换成软件的过程描述C.软件层次构造D.软件开发过程9.两个或两个以上模块之间关联的严密程度称为( )。
A.耦合度B.内聚度C.复杂度D.数据传输特性10.以下描述错误的选项是( )。
A.继承分为多重继承和单继承B.对象之间的通信靠传递消息来实现C.在外面看不到对象的内部特征是基于对象的“模块独立性好”这个特征D.类是具有共同属性、共同方法的对象的集合11.数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是( )。
一套简单的C语言上机试题及答案详解
C 语言上机模拟试题(附详细答案)1.程序填空题请补充main函数,该函数的功能是:从键盘输入一组字符串,以“*”结束输入,并显示出这个字符串。
例如,输入abcdefghi*,结果显示adcdefghi。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:不得增行或删行,也不得更改程序的结构!#include <stdio.h>#include <windows.h>#define N 80main(){int i=-1,j=0;char str[N];system("cls");printf("\n Input a string \n");do{i++;/**********found**********/scanf(___1___);/**********found**********/}while(___2___);printf("\n**display the string** \n");while(j<i){/**********found**********/printf(___3___);j++;}}2.程序修改题下列给定程序中,函数fun()的功能是:用冒泡法对6个字符串按由小到大的顺序进行排序。
请改正程序中的错误,使其能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
#include <conio.h>#include <stdio.h>#include <windows.h>#define MAXLINE 20/**********found**********/fun(char *pstr[6]){int I, j;char *p;for(i=0;i<5;i++){for(j=i+1;j<6;j++)/**********found**********/{if(strcmp(*(pstr+i),pstr+j)>0){p=*(pstr+i);/**********found**********/*(pstr+i)=pstr+j;*(pstr+j)=p;}}}}main(){int I;char *pstr[6],str[6][MAXLINE];system("cls");for(i=0;i<6;i++) pstr[i]=str[i];printf("Enter 6 string(1 string at eachline):\n ");for(i=0;i<6;i++) scanf("%s",pstr[i]);fun(pstr);printf("The strings after sorting:\n ");for(i=0;i<6;i++)printf("%s\n",pstr[i]);}3.程序设计题学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun(),它的功能是:把低于平均分的学生数据放在b所指的数组中,低于平均分的学生人数通过形参n传回,平均分通过函数值返回。
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语言上机题库及答案(100套)
~计算机二级c 语言上机题库及答案内部资料,切勿外传!.第1 套填空题请补充FUN 函数,FUN 函数的功能是求10 的阶乘。
注意:部分源程序给出如下。
请勿改动主函数main 和其他函数中的任何内容,仅在fun 函数的横线上填入所编写的若干表达式或语句。
试题程序:#include <stdio.h>long fun(int n){if ( 1 )return (n*fun( 2 ));return 3 ;}main(){printf("10!=%ld\n", fun(10));}第1 处填空:n>1 或1<n第2 处填空:n-1第3 处填空:1 或11 或1L改错题下列给定程序的功能是:读入一个整数K(2〈=K〈=10000),打印它的所有因子(即所有为素数的因子)。
例如,若输入整数2310,则应输出:2、3、5、7、11。
请改正程序中的错误,使程序能得出正确的结果。
注意:不要改动main 函数,不得增行或删行,也不得更改程序的结构!试题程序:#include <conio.h>#include <stdio.h>/********found********/IsPrime(int n);{int i, m;m = 1;/********found********/for (i=2; i<n; i++)if !(n%i){m = 0;break;}return(m);}main(){int j, k;printf("\nplease enter an integer number between 2and 10000:");scanf("%d", &k);printf("\n\nThe prime factor(s) of %d is(are):", k);for (j=2; j<k; j++)if ((!(k%j)) && (IsPrime(j)))printf(" %4d,", j);printf("\n");}第1 处:Isprime(int n);应改为Isprime(int n)第2 处:if !(n%i)应该为if(!(n%i))编程题M 个人的成绩存放在score 数组中,请编写函数fun,它的功能是:返回低于平均分的认输,并将低于平均分的分数放在below 所指的数组中。
辽宁程技术大学C语言上机平时试题答案
辽宁程技术大学C语言上机平时试题答案1.1/*从键盘输入任意一个四位正整数,将其各位数字反序输出到屏幕上。
示例:输入1234输出:4321*/#include <stdio.h>void main(){int a,b,c,d,t,s;scanf("%d",&t);a=t%10;b=(t%100)/10;c=(t%1000)/100;d=t/1000;s=a*1000+b*100+c*10+d;printf("%d",s);}1.2/*定义三个整型变量,从键盘输入三个整数,计算平均值,计算结果输出到屏幕上,平均值保留2位小数。
示例:输入:按如下格式输入3个数:21 22 25输出:(注意保留2位小数)22.67*/#include <stdio.h>#include <math.h>#include <string.h>void main(){int a,b,c;scanf("%d %d %d",&a,&b,&c);w=(double)(a+b+c)/3;printf("%.2lf",w);}2.1/*输入一个字符,如果是小写字母,转化为大写字母后输出,其它字符原样输出。
示例:输入a输出A*/#include <stdio.h>#include <math.h>#include <string.h>void main(){char ch;scanf("%c",&ch);if(ch<='z'&&ch>='a'){ch=ch-32;printf("%c",ch);}elseprintf("%c",ch);}2.2/*输入三个整数,然后输出最大值。
C语言上机考试编程题以及答案
C语言上机考试编程题以及答案1、求1+2+3+……….+100。
(循环)答案#include<stdio.h>void main(){int i,sum=0;for(i=1;i<=100;i++)sum=sum+i;printf("%d",sum);}2、求1*2*3*……….*10。
(循环)答案void main(){int i=0,j=1;for (i=2;i<=10;i++){j*=i;}printf("%d",j);return 0;}3、输入三个数字,输出他们的最大值。
(if)答案#include<stdio.h>void main(){int a,b,c,d;scanf("%d,%d,%d",&a,&b,&c);d=max(a,b,c);printf("max=%d",d);getch();/*暂停看运行结果*/}int max(int x,int y,int z){int u;if(x>=y&&x>=z)u=x;else if(y>=x&&y>=z)u=y;elseu=z;return(u);4.用起泡法对十个数据排序(数组实现)答案#include<stdio.h>main ( ){ int i,j,t;static int a[10]={5,7,4,2,3,6,1,0,9,8};for(j=0;j<9;j++){ for(i=0;i<9-j;i++){ if(a>a){ t=a;a=a;a=t ;}}}for(i=0;i<10;i++)printf("%2d",a);}5、输入十个数字,逆序输出。
(数组实现)答案#include<stdio.h>main(){int a[10],i=0;for(i=0;i<=9;i++)scanf("%f",&a);printf("\n");for(i=9;i>=0;i--)printf("%f",a);}6输入两个数,交换他们的值并输出。
全国计算机等级考试二级C语言上机考试题库及答案
第1套一、填空给定函数的功能是调用fun 函数建立班级通讯录。
通讯录记录每位学生的编号,姓名和电话号码。
班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为答案yfile5.dat的二进制文件中。
答案:1. STYPE 2. FILE3. fp二、修改先将在字符串s中的字符按正序存放到t串中,然后把s 中的字符按逆序连接到t串后面。
答案:1. for(i = 0 ; i < sl ;i++) 2. t[2*sl] =` 0`; 三、程序将两个两位数的正整数a,答案合并成一个整数放在c中。
合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,答案数的十位和个位数依次放在c数的百位和个位上。
*c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10);第2套一、填空从键盘输入若干行文本(每行不超过80个字符),写到文件答案yfile4.txt中,用-1作为字符串输入结束的标记。
然后将文件的内容读出显示在屏幕上。
文件的读写分别有自定义函数ReadText 和WriteText实现。
答案:*fw str str 二、修改从低位开始取出长整形变量s中的奇数位上的数,依次构成一个新数放在t中,高位仍放在高位,低位仍放在低位。
答案:long *t sl =sl*10;三、程序将两个两位数的正整数a,答案合并成一个整数放在c中。
合并的方式:将a数的十位和个位数依次放在c数的千位和十位上,答案数的十位和个位数依次放在c数的百位和个位上。
*c=(b/10)*1000+(a%10)*100+(b%10)*10 +(a/10);第3套一、填空将自然数1~10以及它们的平方根写到名为答案yfile3txt的文本文档中,然后再顺序读出显示在屏幕上。
答案:(1)fp (2)fclose(fp)(3)fname二、修改将n个无序整数从小到大排序。
答案:for(i=j+1;i<n;i++)p=i;三、程序将两个两位数的正整数a,答案合并成一个整数放在c中。
计算机等级考试-二级C语言上机考试题库及答案
1.填空给定程序的功能是调用fun函数建立班级通讯录。
通讯录中记录每位学生的编号,姓名和电话号码。
班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。
请在程序的下划线处填入正确的内容并把下划线删除,是程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.c中不得增行或删行,也不得更改程序的结构!void check();/**********found**********/int fun(___1___ *std){/**********found**********/___2___ *fp; int i;if((fp=fopen("myfile5.dat","wb"))==NULL)return(0);printf("\nOutput data to file !\n");for(i=0; i<N; i++)/**********found**********/fwrite(&std[i], sizeof(STYPE), 1, ___3___);fclose(fp);return (1);}修改给定程序MODI1.C中函数fun的功能是:先将在字符串s中的字符按正序存放到t串中,然后把s中的字符按逆序连接到t串后面。
例如:当s中的字符串为:“ABCDE”时,则他中的字符串应为:“ABCDEEDCBA”。
请改正程序中的错误,使他能得出正确的结果。
注意:不要改动main函数,不能增行或删行,也不得更改程序的结构!void fun (char *s, char *t){ int i, sl;sl = strlen(s);/************found************/for( i=0; i<=s1; i ++)t[i] = s[i];for (i=0; i<sl; i++)t[sl+i] = s[sl-i-1];/************found************/t[sl] = '\0';}程序函数fun的功能是:将两个两位数的正整数a,b合并成一个整数放在c中。
C语言上机练习汇总及答案
1)10002 显示Hello World! ........................................................................... 错误!未定义书签。
2)10003 显示What is a computer? .............................................................. 错误!未定义书签。
3)10004 显示图形(字符图案输出)......................................................... 错误!未定义书签。
4)10005 显示Welcome to You!(调试示例error01_1) ........................... 错误!未定义书签。
5)10006 显示"Programming in C is fun!" .................................................. 错误!未定义书签。
6)10007 显示图案(字符图案输出)....................................................... 错误!未定义书签。
7)20011 求华氏温度100°F对应的摄氏温度。
........................................... 错误!未定义书签。
8)20012 求华氏温度150°F 对应的摄氏温度。
......................................... 错误!未定义书签。
9)20013 求摄氏温度26°C对应的华氏温度。
............................................ 错误!未定义书签。
C语言程序设计基础上机考试一题目及参考答案
1.输入一串字符(可能包含空格),计算输入的字符串中整数的个数并输出。
2.输入一个字符串,对字符串相同的字符只保留一个(首次出现的字符)。
3.找出一个大于给定整数m且紧随m的素数。
4.统计老年人各年龄段(每10岁为一个年龄段)的人数并存到b数组中,n个人员的年龄放在a数组中。
5.计算并输出k以内最大的10个能被13或17整除的自然数之和。
6.读入一行英文文本, 将其中每个单词的最后一个字母改成大写,然后输出此文本行(这里的“单词”是指由空格隔开的字符串)。
7.求A、B两个整数数组数据的交集,并输出交集的数据。
8.输入若干个整数,且每个数均在1000至9999之间,按照每个数的后三位进行升序排序,若后三位相等,则按照原数据升序排序。
9.将字符串s所有的子串t用“copy”替换,并输出替换后的字符串。
10.判断一个整数是否是回文数。
所谓的回文数是指高位到地位与从低位到高位读取该数,得到的数是相同的数据。
例如:1221,121是回文数。
1.输入一串可能包含空格的字符串,计算该字符串中数字(整数)的个数。
2.删除字符串中的数字字符3.计算并输出high以内最大的10个素数之和。
4. A,B是两个整数集合,将A中和B相同的数据删除,并输出删除后的集合。
5.计算字符串s中含有字符串t的数目, 并输出。
6.编程实现:在已排好序的字符串中插入一个新的字符串,使插入后仍然有序,输出插入后的字符串。
7.在三位整数中寻找符合条件的整数,并依次有大到小存入数组,并输出,它既是完全平方数,又是两位数字相同。
8.判断一个整数是否是回文数。
所谓的回文数是指高位到地位与从低位到高位读取该数,得到的数是相同的数据。
例如:1221,121是回文数。
9.找出200以内所有的完数,并输出其因子。
一个数若恰好等于它的各因子之和,称其为完数。
例如:6=1+2+3,其中1、2、3为因子,6是因子和。
10.统计在字符串str中26个小写英文字母各自出现的次数。
c语言上机试题库及答案
c语言上机试题库及答案1. 题目一:字符串翻转要求:编写一个C语言程序,实现字符串的翻转功能。
```c#include <stdio.h>#include <string.h>void reverseString(char *str) {int len = strlen(str);char temp;for(int i = 0; i < len / 2; i++) {temp = str[i];str[i] = str[len - i - 1];str[len - i - 1] = temp;}}int main() {char str[100];printf("Enter a string: ");scanf("%s", str);reverseString(str);printf("Reversed string: %s\n", str);return 0;}```2. 题目二:计算数组中的最大值要求:编写一个C语言程序,计算并输出一个整数数组中的最大值。
```c#include <stdio.h>int findMax(int arr[], int size) {int max = arr[0];for(int i = 1; i < size; i++) {if(arr[i] > max) {max = arr[i];}}return max;}int main() {int arr[] = {10, 45, 23, 67, 89, 34};int size = sizeof(arr) / sizeof(arr[0]);int max = findMax(arr, size);printf("The maximum value in the array is: %d\n", max); return 0;}```3. 题目三:实现二分查找要求:编写一个C语言程序,实现一个二分查找算法,查找一个有序数组中是否存在目标值。
c二级上机考试答案
c二级上机考试答案1. 请写出C语言中定义一个整型变量的语句。
答案:int variable_name;2. 在C语言中,如何声明一个指向整型数据的指针?答案:int *pointer_name;3. 如果有一个数组定义如下:int array[5] = {1, 2, 3, 4, 5}; 那么数组的第一个元素是什么?答案:14. 在C语言中,如何使用循环结构打印出1到10的数字?答案:```cfor(int i = 1; i <= 10; i++) {printf("%d ", i);}```5. 请解释C语言中的switch语句的基本用法。
答案:switch语句用于基于不同的情况执行不同的代码块。
它首先评估一个表达式,然后检查这个表达式的值与case标签匹配的情况,执行相应的代码块。
6. 以下代码段的输出是什么?```cint x = 5;printf("%d", x++);```答案:57. 在C语言中,如何声明一个函数,该函数接受一个整型参数并返回一个整型值?答案:int function_name(int parameter);8. 请写出C语言中定义一个结构体的语句,该结构体包含一个整型成员和一个字符型成员。
答案:```cstruct struct_name {int integer_member;char character_member;};```9. 如果有一个函数定义如下:void function_name(void) { /* function body */ }; 那么这个函数的返回类型是什么?答案:void10. 在C语言中,如何使用条件运算符(三元运算符)?答案:条件运算符的一般形式是:condition ? expression1 : expression2,其中condition是条件表达式,expression1是当条件为真时的返回值,expression2是当条件为假时的返回值。
c语言上机考试题及答案
c语言上机考试题及答案一、选择题(每题2分,共20分)1. 在C语言中,用于定义结构体的关键字是()。
A. structB. unionC. enumD. typedef答案:A2. 下列关于数组的描述中,正确的是()。
A. 数组必须初始化B. 数组的大小在编译时确定C. 数组可以赋值给另一个数组D. 数组可以作为函数的参数答案:B3. C语言中,用于文件操作的库函数存放在()。
A. stdio.hB. stdlib.hC. string.hD. math.h答案:A4. 下列选项中,不属于C语言标准输入输出函数的是()。
A. printfB. scanfC. getcharD. malloc5. 在C语言中,用于定义枚举类型的关键字是()。
A. enumB. structC. unionD. typedef答案:A6. C语言中,用于定义指针的关键字是()。
A. charB. intC. floatD. *答案:D7. 在C语言中,用于定义函数的关键字是()。
A. structB. voidC. intD. function答案:B8. 下列关于C语言中函数的描述中,错误的是()。
A. 函数可以没有返回值B. 函数可以有多个返回值C. 函数可以嵌套定义D. 函数可以递归调用答案:C9. 在C语言中,用于定义联合体的关键字是()。
B. unionC. enumD. typedef答案:B10. C语言中,用于定义宏的预处理命令是()。
A. #defineB. #includeC. #pragmaD. #if答案:A二、填空题(每题2分,共20分)1. 在C语言中,()运算符用于定义常量。
答案:#define2. C语言中,()函数用于将字符数组转换为字符串。
答案:strcpy3. 在C语言中,()运算符用于强制类型转换。
答案:(type)或(type)4. C语言中,()函数用于打开文件。
答案:fopen5. 在C语言中,()函数用于关闭文件。
二级C语言上机考试题库及答案
二级C语言上机考试题库及答案1. 题目:编写一个C语言程序,实现输入一个整数,判断其是否为素数,并输出结果。
程序代码如下:```c#include <stdio.h>#include <math.h>int isPrime(int num) {if (num <= 1) return 0;for (int i = 2; i <= sqrt(num); i++) {if (num % i == 0) return 0;}return 1;}int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (isPrime(num)) {printf("%d 是素数。
\n", num);} else {printf("%d 不是素数。
\n", num);}return 0;}答案:该程序首先定义了一个判断素数的函数`isPrime`,它通过遍历2到`sqrt(num)`之间的所有整数,检查是否有能整除`num`的数。
如果找到,则`num`不是素数。
在`main`函数中,程序提示用户输入一个整数,然后调用`isPrime`函数判断该数是否为素数,并输出相应的结果。
2. 题目:编写一个C语言程序,实现一个简单的学生成绩管理系统,要求能够添加学生信息、查询学生信息、删除学生信息和显示所有学生信息。
程序代码如下:```c#include <stdio.h>#include <stdlib.h>typedef struct {char name[50];int score;} Student;Student students[100];int count = 0;void addStudent(const char* name, int score) {if (count < 100) {strcpy(students[count].name, name);students[count].score = score;count++;} else {printf("学生信息已满。
(完整版)C语言上机练习题及答案
(完整版)C语言上机练习题及答案1输入三个整数x,y,z,把这三个数由小到大输出。
# includevoid main(){int x,y,z,a;scanf ("%d,%d,%d",&x,&y,&z);if(x>y) {a=x; x=y;y=a;}if(x>z) { a=x; x=z; z=a;}if(y>z) {a=y; y=z; z=a;}printf("%d,%d,%d\n",x,y,z);}2输入圆的半径,输出圆的周长和面积。
# include# define PI 3.1415926# define S ==PI*r*r# define V (4.0/3)*PI*r*r*rvoid main(){double r;printf("please input r:");scanf("%lf",&r);printf("area is %.4lf\n",S);printf("volume is %.4lf\n",V);}输入正方形的边长,输出正方形的周长和面积。
# includevoid main(){float c,zc,mj;printf("输入你的正方形");scanf("%f\n",&c);zc=4*c;mj=c*c;printf("周长%f,面积%f,边长%f",zc,mj,c);}3用格式输入函数输入3个字符,并用输出函数反向输出3个字符和他们的ASCII 码。
# includeint main(){char-ch1,ch2,ch3;printf("please input three characters:\n");scanf("%C%C%c",&ch1,&ch2,&ch3);printf("%c\n%d\n",ch3,ch3);printf("%c\n%d\n",ch2,ch2);printf("%c\n%d\n",ch1,ch1);}输入一个摄氏温度,要求输出华氏温度。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
//vc1//prog1.cpp//设计一个程序,从键盘输入三个整数,按由小到大的顺序输出。
#include"stdio.h"main(){int a[3],i,j,t;for(i=0;i<3;i++){scanf("%d",&a[i]);}for(i=0;i<9;i++) /*此处的i可以小于任意一个大于6的整数*/{for(j=0;j<2;j++){if(a[j]>a[j+1])t=a[j],a[j]=a[j+1],a[j+1]=t;}}printf("The three data from small to big is:");for(i=0;i<3;i++)printf("%d ",a[i]);}//vc1//prog2.cpp//求1+3+5+...+95+97+99的和。
#include"stdio.h"main(){int i,sum=0;for(i=1;i<100;i=i+2)sum+=i;printf("1+3+5+....+99=%d\n",sum);}//vc1//prog3.cpp//写一个函数,从键盘输入一个整数,如果该整数为素数,则输出“此整数为素数”,否则输出“整数非素数”。
(注:要求从主函数输入整数)#include"stdio.h"main(){int i,j,k,l=2;printf("输入一个大于3的整数:");scanf("%d",&i);for(j=2;j<i;j++){k=i%j;if(k==0) break;else l++;}if(l==k)printf("这是个素数!!\n");elseprintf("这不是素数!!\n");}//vc2//prog1.cpp//从键盘输入10个整数,保存在一个数组中,将这10个数逆序输出,然后求这10个数的和然后输出。
#include"stdio.h"main(){int a[10],i,sum=0;printf("输入10个整数:");for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=9;i>=0;i--)printf("%d ",a[i]);for(i=0;i<10;i++)sum+=a[i];printf("The total is:%d\n",sum);}//vc2//prog2.cpp//输入N个国家的英文名,要求按字母的先后顺序排列,并按照顺序输出。
#include<stdio.h>#include<string.h>void main(){char a[100][100]={0},b[100]={0};int n,i,j;for(n=0;n<100;n++){gets(a[n]);if(a[n][0]=='0')break;}for(i=1;i<=n;i++)for(j=0;j<n-i;j++){if(strcmp(a[j],a[j+1])){strcpy(b,a[j]);strcpy(a[j],a[j+1]);strcpy(a[j+1],b);}}for(i=0;i<n;i++)puts(a[i]);}//vc2//prog2.cpp//输入N个国家的英文名,要求按字母的先后顺序排列,并按照顺序输出。
#include<stdio.h>#include<string.h>void main(){char a[100][100]={0},b[100]={0};int n,i,j;for(n=0;n<100;n++){gets(a[n]);if(a[n][0]=='0')break;}for(i=1;i<n;i++)for(j=0;j<n-i;j++){if(strcmp(a[j],a[j+1])>0){strcpy(b,a[j]);strcpy(a[j],a[j+1]);strcpy(a[j+1],b);}}for(i=0;i<n;i++)puts(a[i]);}//vc2//prog3.cpp/*某年级共有4个班,每班各有30名学生,有6个科目的考试成绩,要求输出每门课程最高分的学生、学号和姓名,并计算各班每个学生的平均成绩并输出。
*/#include<stdio.h>#define cla 4#define stu 30#define sub 6main(){int i,j,k,m,n,h;float a[cla][stu][sub],ave[cla][stu],t,max;for(i=0;i<cla;i++){for(j=0;j<stu;j++){t=0;for(k=0;k<sub;k++){printf("请输入第%d个班学号为%d的学生的第%d 科的成绩\n",i+1,j+1,k+1);scanf("%f",&a[i][j][k]);t=t+a[i][j][k];}ave[i][j]=t/sub;}}for(k=0;k<sub;k++){max=0.0;for(i=0;i<cla;i++){for(j=0;j<stu;j++){if(a[i][j][k]>max){max=a[i][j][k];m=i,n=j,h=k;}}}printf("第%d科成绩的最高分是第%d个班学号为%d的人,成绩为%f",h+1,m+1,n+1,max);}for(i=0;i<cla;i++){for(j=0;j<stu;j++){printf("第%d班学号为%d的学生的平均分为%f",i+1,j+1,ave[i][j]);}}}//vc3//prog1.cpp//求从键盘上输入的10个数据(实数)中的最大值,并求和。
#include <stdio.h>main(){int a[10],i,m=0,s=0;for(i=0;i<10;i++){scanf("%d",&a[i]);if(m<a[i])m=a[i];s+=a[i];}printf("最大值是%d\n总和是%d\n",m,s);}//vc3//prog2.cpp//给出三角形的三边A,B,C,求三角形的面积。
(应先判断三边是否构成三角形)#include <stdio.h>#include <math.h>int check(float a,float b,float c){int j;if((a+b>c)&&(a-b<c)&&(b-a<c))j=1;else j=0;return j;}main(){float a,b,c;float s,p;scanf("%f%f%f",&a,&b,&c);if(check(a,b,c)){p=(a+b+c)/2;s=sqrt(p*(p-a)*(p-b)*(p-c));printf("%f\n",s);}elseprintf("不能构成三角形");}//vc3//prog3.cpp//编写程序求一个字符串的第n个字符开始、长度为m的子串#include <stdio.h>main(){char a[100],b[100]={'0'};int m,n,i,j;gets(a);printf("请输入首位数,位数\n");scanf("%d%d",&m,&n);for(i=m-1,j=0;i<n+m-1;i++,j++)b[j]=a[i];puts(b);}//vc4//prog1.cpp//猜数游戏,假如设定一个整数m=123,然后让其他人从键盘上猜该数字,如果猜对,输出“RUGHT”,如果猜错,则输出“WRONG”,并且指出设定的数字比输入的数字大还是小#include <stdio.h>main(){int m=123,a;while(1){printf("请输入您的猜测:\n");scanf("%d",&a);if(a==m){printf("RIGHT");break;}else{printf("WRONG");if(a>m)printf("\n该数字比您输入的小!");elseprintf("\n该数字比您输入的大!");}}}//vc4//prog2.cpp//编写程序,用于统计从键盘输入的字符串中的元音字母的个数。
#include <stdio.h>#include <string.h>main(){char a[100];int i,s=0;gets(a);for(i=0;i<strlen(a);i++){if(a[i]=='a'||a[i]=='e'||a[i]=='i'||a[i]=='o'||a[i]=='u'||a[i]=='A'||a[i]=='E'||a[ i]=='I'||a[i]=='O'||a[i]=='U')s++;}printf("%d",s);}//vc4//prog3.cpp//编写程序求1-100中所有同构数的个数(一个自然数的平方的末几位与该数相同时,该数就为同构数,如25^2=625)#include <stdio.h>main(){int i,j=0;for(i=1;i<=100;i++){if((i*i)%1000%100==i||(i*i)%1000%100%10==i){printf("%d ",i);j++;}}printf("\n%d",j);}//vc5//prog1.cpp//从键盘接受一个整数X,判断X是否为含有因子7的整数,如是,则输出“YES”,否则输出“NO”#include <stdio.h>main(){int x;scanf("%d",&x);if(x%7||x==0)printf("NO");elseprintf("YES");}//vc5//prog2.cpp//编写一个密码检测的程序,在执行程序时,要求用户输入密码(标准密码自己预先设定),然后通过字符串比较函数比较输入密码和标准密码是否相等,若当等,则显示“口令正确”,并转去执行后续程序,若不想等,重新输入,3次都不相等则终止程序的执行。