C语言上机考试

合集下载

C语言上机考试试题9

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语言上机题参考答案
}
20、设有1<=n<=500个人围坐一圈并按顺时针方向从1到n编号,从第s个人开始进
行1到m的报数,报数到第m个人,此人出圈,再从他的下一个人重新开始1到m的
报数,如此进行下去直到所有的人都出圈为止。
要求按出圈次序输出编号。
输入格式如下:
n s m
示例:
输入:
6 1 3
输出:
3 6 4 2 5 1
scanf("%d",&n);
for(i=1;i<=n;i++)
{for(j=1;j<=i;j++)
printf("*");
printf("\n");
}
}
8、编程输出n行图形(n值通过键盘输入),
假设n=5,则图形如下:
*
**
***
****
*****
假设n=6,则图形如下:
*
**
***
****
*****
if(x>1) y=6*x+5;
printf("%d",y);
}
三、循环图形
7、编程输出n行图形(n值通过键盘输入)
假设n=5,则图形如下:
*
**
***
****
*****
假设n=6,则图形如下:
*
**
***
****
*****
******
#include<stdio.h>
void main()
{int i,j,n;
printf("%.2f\n",(a+b+c)/3.0);

C语言上机150道题

C语言上机150道题

C语言上机150道题及参考答案1.某一门课程考试之后,需要统计考生(10人)的平均成绩,并找出其中的最高分和最低分。

2.从键盘输入两个正整数,输出这两个整数的商,要求商的小数点后保留5位。

例如输入355和113,输出3.14159。

3.用while循环结构编写程序打印ASCII码为33-127的字符。

4.用do-while,for循环结构编写程序打印ASCII码为33-127的字符。

5.用for循环结构编写程序打印ASCII码为33-127字符。

6.在1-500中,找出能同时满足用3除余2,用5除余3,用7除余4的所有整数,用循环结构。

7.输入一个整数将其倒着输出,如54321——12345。

8.计算s=1+1/3+1/5+…+1/n,截止到1/n<10-4。

9.从键盘输入一整数n,计算1*1+2*2+...+n*n的值。

10.用while 循环计算1+2+……+100的和。

11.用do while循环计算1+2+……+100的和。

12.用for 循环计算1+2+……+100的和。

13.输入一个小于等于10的整数n ,计算n!。

14.输入两个正整数m和n,计算m!+n!,m和n的值均小于10。

15.用循环语句,计算1~100之间的所有3的倍数之和。

16.用循环语句,计算100-200之间的所有7的倍数之和。

17.输出1-100之间,7的整数倍数或数字尾数为7的数字,统计出这些数字个数。

18.输入一行字符,分别统计出其中英文字母,空格,数字和其他字符的个数。

19.输入一个整数,统计它有几位数。

如输入367,则该数有3位数。

20.编写程序,输出1到50中间所有能被3整除的正整数。

21.把100~200之间不能被3整除的输出。

22.编程Y=1+3+5+7+...111。

23.编程y=1*1/2*1/3*1/4*1/5*1/6*...前十项之积。

24.编程输出九九乘法表。

25.求1到100奇数和。

c语言上机考试训练题库及答案

c语言上机考试训练题库及答案
2000≤s<3000 10%折扣
3000≤s 15%折扣
设每公里每吨货物的基本运费为p,货物重为w,距离为s,折扣为d,则总运费f的计算公式为:f=p*w*s*(1-d),请按照上述标准利用switch语句编写程序计算运费,并画出程序NS图。
#include <stdio.h>
int main()
{
if(i%2==0&&i%3==0&&i%7==0)
printf("%d\n",i);
}
}
26.输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
#include<stdio.h>
main()
{
char ch;
int z=0,k=0,s=0,q=0;
while((ch=getchar())!='\n')
#include<stdio.h>
void main()
{int i,sum=0;
for(i=100;i<=996;i+=4)
if(i/10%10!=4)
sum+=i;
printf("和为:%d",sum);
}
15.输入一个字符串,统计该字符串的长度以及字母a出现的次数。
#include <stdio.h>
void main()
{int i,j=0;
char ch[ ]=" ";
printf("please input some characters\n");
gets(ch);
for (i=0;ch[i];i++)

C语言上机作业试题5套含答案

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说:他乱说。

已知三个人说的是实话,一个人说的是谎话。

此刻要依照这些信息,找出做了好事的人。

VC语言上机试题及答案

VC语言上机试题及答案

C 语言上机考试题20套(试题)C 语言上机考试题(第一套)1.编写函数fun ,它的功能是:计算并输出下列级数和:)1(1321211+⨯++⨯+⨯=n n S 例如,当n = 10时,函数值为:0.909091注意:部分源程序给出如下。

请勿改动主函数main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。

试题程序:#include <conio.h>#include <stdio.h>double fun( int n ){…………}main() /*主函数 */{ clrscr();printf(″%f\n ″, fun(10));}2.在[10000, 20000]范围内考察个位数字是7的素数, 问:(1) 这样的素数有多少个?(2) 其中最大的一个等于几?3. 编写程序,从键盘输入一年份,判断该年份是否为闰年。

C 语言上机考试题(第二套)1.编写函数fun ,它的功能是:计算并输出下列级数和:)1(1321211+⨯++⨯+⨯=n n S 例如,当n = 10时,函数值为:0.909091注意:部分源程序给出如下。

请勿改动主函数main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。

试题程序:#include <conio.h>#include <stdio.h>double fun( int n ){…………}main() /*主函数 */{ clrscr();printf(″%f\n″, fun(10));}2.回文数是指正读和反读都一样的自然数。

例如,8, 121, 5445这三个数都是回文数。

求:(1) [1,1000]之内既是回文数,又是素数的最大整数。

(2) [1,1000]以内既是回文数,又是素数的整数有多少个。

3. 编写程序,能对输入一行字符,统计其中分别有多少个单词和空格。

c语言上机考试题库

c语言上机考试题库

c语言上机考试题库单项选择题1.有char c=’1’,下面说法中正确的是()。

A. 语句putc+2);的输入结果为51B. 语句put“%d”,c+2);的输出结果为3C. 语句put“%c”,c+2);的输入结果为51D. 语句put“%c”,c+2);的输出结果为32.设c1,c2均就是char型变量,则下面不恰当的函数调用为()。

A. scanf(”c1=2=%c”,&c1,&c2);B. get);C. putc2);D. putc1,c2);3.为了表示关系x>=y>=z,下面C语言表达式中正确的是()。

A. (x>=y)&&(y>=z)B. (x>=y)and(y>=z)C. (x>=y>=z)D. (x>=y)&(y>=z)4.设x,y,z,t为int型变量,则继续执行以下语句后,t的值()。

x=y=z=1;t=++x||++y&&++z;A. 不定值B. 2C. 1D. 05.对if语句中表达式的类型,下面正确的说法是()。

A. 必须就是关系表达式B. 必须是关系表达式或逻辑表达式C. 可以就是任一表达式D. 必须是关系表达式或算术表达式6.对for(表达式1;;表达式3)可以认知为()。

A. for(表达式1;0;表达式3)B. for(表达式1;表达式1;表达式3)C. for(表达式1;1;表达式3)D. for(表达式1;表达式3;表达式3)7.执行语句for(i=1;i++<4;);之后,变量i的值为()。

A. 3B. 4C. 5D. 不确定8.若二维数组a存有m列,则在a[i][j]前的元素个数为()。

A. j*m+iB. i*m+jC. i*m+j-iD. i*m+j+19.下面说法中正确的是()。

A. 在C语言中,可以采用动态内存分配技术,定义元素个数气门的数组B. 在C语言中,数组元素的个数可以不确定,允许随即变动C. 在C语言中,数组元素的数据类型可以不一致D. 在C语言中,定义数组后,就确定了它能容纳的相同数据类型元素的个数10.无法把字符串:“good!”参数值数组b的语句就是()。

C语言上机考试3

C语言上机考试3

一、单项选择1.题号:4889以下函数挪用语句中,实参的个数是(). exce((v1,v2),(v3,v4,v5),v6);A、3B、4C、5D、6A、能够在同一个函数中,显现多次B、在主函数和其他函数中,都可显现C、必需在每一个函数中,显现D、只能在除主函数之外的函数中,显现一次A、该数组的首地址B、该数组的元素个数C、该数组中各元素的值D、该数组的长度答案:A2.题号:4525在C语言的函数中,以下正确的说法是().A、数组名不能作形参B、能够有也能够没有形参C、形参必需是变量名D、必需有形参答案:B3.题号:4083以下正确的函数概念形式是().A、double fun(int x,int y)B、double fun(int x;int y)A、main()B、#include""C、scanfD、printf答案:A4.题号:4048下面对函数的表达,正确的选项是().A、函数中不论是不是有return语句,都能返回正确值B、函数中没有return语句,说明不带回值C、函数不能嵌套概念D、函数的返回值是通过return语句取得的答案:C5.题号:4073在挪用函数时,假设是实参是简单变量,它与对应形参之间的数据传递方式是().A、传递方式由用户指定B、由实参传给形参,再由形参传回实参C、地址传递D、单向值传递答案:D6.题号:5119以下关于函数的表达中正确的选项是().A、每一个函数都能够单独运行A、5B、3C、2D、4答案:C7.题号:4901在C语言中,形参的缺省存储类是().A、staticB、registerC、autoD、extern答案:C8.题号:4507C语言规定,在一个源程序中,main()函数的位置.A、必需在最开始B、必需在系统挪用的库函数的后面C、能够任意D、必需在最后答案:C9.题号:4847以下表达中,正确的选项是().A、main()可作为用户标识符,用以命名任意一个函数作为主函数B、C语言程序将从源程序中,第一个函数开始执行C、能够在程序中,由用户指定任意一个函数作为主函数,程序将从此开始执行D、C语言规定必需用main()作为主函数名,程序将从此开始执行,在此终止答案:D10.题号:5137以下函数的类型是fff(float x){printf("%d\n",x);}A、能够在任意位置B、必需在程序的最后C、必需在程序的开始D、必需在系统挪用的库函数以后答案:A11.题号:4112C语言规定,函数返回值的类型是().A、由return语句中的表达式类型所决定B、由挪用该函数时的主调函数类型所决定C、由挪用该函数时系统临时决定D、由概念该函数时所指定的数值类型决定答案:D12.题号:4804以下所列的函数"首部"中,正确的选项是().()A、void play(int a,b)B、void play(int a,int b)C、void play(a:int,b:int)D、void play(a as int,b as int)答案:B13.题号:4432有以下函数概念:int fun(double a,double b){return a*b;}假设以下选项中,所用变量都已正确概念并赋值,错误的函数挪用是().A、z=fun(fun(x,y),fun(x,y));B、z=fun(fun(x,y)x,y);C、if(fun(x,y)){……}D、fun(x,y);答案:B14.题号:5050关于void 类型函数,调历时不可作为().A、if语句的成份语句B、表达式C、循环体里的语句D、自概念函数体中的语句A、必需在主调函数中,说明此数组的大小B、实参数组类型与形参数组类型能够不匹配C、实参数组名与形参数组名必需一致D、在被挪用函数中,不需要考虑形参数组的大小答案:A15.题号:4696在C语言中,挪用函数除函数名外,还必需有().A、实际参数B、()C、函数预说明D、函数返回值答案:B16.题号:4892以下错误的描述是:函数挪用能够().A、做为一个函数的实参B、做为一个函数的形参C、出此刻一个表达式中D、出此刻执行语句中A、数组每一个元素中的值B、数组的首地址C、数组的长度D、数组每一个元素的地址答案:B17.题号:5014假设用数组名作为函数的实参,传递给形参的是().A、数组的首地址B、数组元素的个数C、数组第一个元素的值D、数组中,全数元素的值答案:A18.题号:4843假设是在一个函数中的复合语句中,概念了一个变量,以下正确的说法是().A、该变量在本程序范围内均有效B、该变量只在该复合语句中,有效C、该变量在该函数中,有效D、该变量在主函数中,有效答案:B19.题号:4319C语言中,规定,程序中,各函数之间().A、既许诺直接递归挪用或许诺间接递归挪用B、许诺直接递归挪用不准诺间接递归挪用C、不准诺直接递归挪用许诺间接递归挪用D、不准诺直接递归挪用也不准诺间接递归挪用答案:A20.题号:5062凡是函数中,未指定存储类别的局部变量,其隐含的存储类别为().A、自动(auto)B、静态(static)C、外部(extern)D、寄放器(register)答案:A21.题号:4672以下表达中,正确的选项是().A、组成C程序的大体单位是函数B、main()函数必需放在其它函数之前C、所有被挪用的函数必然要在挪用之前进行概念D、能够在一个函数中,概念另一个函数答案:A22.题号:4236全局变量的概念不可能在().A、最后一行B、文件外面C、函数内部D、函数外面答案:C23.题号:4754以下对C语言函数的描述中正确的选项是().A、C程序中有挪用关系的所有函数必需放在同一个程序文件中B、C函数既能够嵌套概念又能够递归挪用A、staticB、autoC、无存储类别D、extern答案:B24.题号:4578假设已概念的函数有返回值,那么以下关于该函数挪用的表达中,错误的选项是().A、函数挪用能够作为一个函数的形参B、函数挪用能够作为独立的语句存在C、函数挪用能够作为一个函数的实参D、函数挪用能够出此刻表达式中,答案:A25.题号:4537以下正确的函数声明语句是().A、int add(int a,int b)A、1990B、1996C、2000D、1992答案:A26.题号:5040以下表达中,不正确的选项是().A、在一个函数内概念的变量只在本函数范围内有效B、在一个函数内的复合语句中,概念的变量在本函数范围内有效A、实参与形参是双向传递函数说明语句的三种形式:int max(int a,int b);答案:正确1.题号:4577静态局部变量是在编译时被初始化的,故它只被赋初值一次.答案:正确2.题号:4846gets 函数是用来输入一个字符的函数.答案:正确3.题号:4767函数调历时,实参和形参在类型上应按位置与形参一一对应匹配;假设是类型不匹配,通常编译器并非给出犯错信息.答案:正确4.题号:4984一个C程序只能由一个主函数组成答案:正确5.题号:4989C语言中return语句能够返回函数值.假设是return语句后表达式的值与函数说明的类型不一致,那么以return语句的表达式类型为准,系统将自行转换.答案:错误6.题号:4783通过return语句,函数能够带回一个或一个以上的返回值.答案:正确7.题号:4175在C语言中,不准诺函数嵌套概念,但函数能够嵌套挪用.答案:正确8.题号:4689return 语句能够在同一个函数中显现多次.答案:正确9.题号:4097每次挪用函数时,都要对静态局部变量从头进行初始化.答案:正确10.题号:4584函数调历时,要求实参与形参的个数必需一致,对应类型一致.答案:正确11.题号:4055C语言程序老是从main()函数开始执行.答案:正确12.题号:4161没有初始化的整型静态局部变量的初值系统均默以为0.答案:正确13.题号:4349在C语言的函数中,必需有形参.答案:错误14.题号:5108在C语言中,函数能够嵌套概念,但不能嵌套挪用.答案:错误二、填空题==================================================1.题号:4286在函数中,需要返回一个结果时,能够利用_____语句.答案:空1:return2.题号:4371函数的_____挪用是一个函数直接或间接地挪用它自身.答案:空1:递归3.题号:4333C语言中,格式输入操作是由库函数_____完成的,格式输出操作是由库函数_____完成的.答案:空1:scanf空2:printf4.题号:4373C源程序中的主函数的名称必需是_____。

C语言上机考试试题6

C语言上机考试试题6

{ int i; float sum=0; max=a[0]; min=a[0]; for(i=1;i<n;i++) { if (a[i]>max) max = a[i]; else min = a[i]; /*$1*/ sum = sum + a[i]; } return(sum/n); } int main() { float score[10],ave; int j; for(j=0;j<10;j++) scanf("%f", &score[j]); ave = average(score,10); printf("max=%6.2f min=%6.2f average=%6.2f\n",max,min,ave); } 操作说明: 在考生目录的**子目录下,有*.c文件,该文件中“/*$1*/”行中的语 句else有错误,请改正(注意:不得加行、减行、加句、减句,否则后 果自负)。该程序功能:求出n个数中的最大数、最小数和平均数。例 如:在程序中输入:1 2 3 4 5 6 7 8 9 10 结果:max=10.00 min= 1.00 average=5.40。 答案:if (a[i]<min) min = a[i]; 运行样例2行 运行样例1: 1 2 3 4 5 6 7 8 9 10 结果:max=10.00 min= 1.00 average=5.40 3. 打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位 数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的 三次方+5的三次方+3的三次方。 #include <stdio.h> void main() { int i,j,k,n; printf("water flowernumber is:"); for(n=100;n<1000;n++)

C语言上机考试编程题以及答案

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语言程序设计基础上机考试一题目及参考答案

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语言上机考试题库

c语言上机考试题库1. 编写一个程序,从键盘输入两个整数,然后交换它们的值并输出。

```c#include <stdio.h>int main(){int num1, num2, temp;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);temp = num1;num1 = num2;num2 = temp;printf("交换后的值为:%d %d\n", num1, num2);return 0;}```2. 编写一个程序,输入一个整数,判断该数是奇数还是偶数,并输出对应结果。

```cint main(){int num;printf("请输入一个整数:");scanf("%d", &num);if(num % 2 == 0){printf("%d是偶数\n", num);}else{printf("%d是奇数\n", num);}return 0;}```3. 编写一个程序,输入一个大写字母,将其转换为小写字母并输出。

```cint main(){char upperCase, lowerCase;printf("请输入一个大写字母:");scanf("%c", &upperCase);lowerCase = upperCase + 32;printf("转换为小写字母:%c\n", lowerCase);return 0;}```4. 编写一个程序,输入一个字符串,然后判断该字符串是否为回文,并输出对应结果。

```c#include <stdio.h>#include <string.h>int main(){char str[100];int i, j, flag = 1;printf("请输入一个字符串:");gets(str);for(i = 0, j = strlen(str) - 1; i < j; i++, j--) {if(str[i] != str[j]){flag = 0;break;}}if(flag == 1){printf("该字符串是回文\n");}else{printf("该字符串不是回文\n");}return 0;}```5. 编写一个程序,输入一个整数n,计算并输出1到n的累加和。

C语言考试题库及答案

C语言考试题库及答案

C语言考试题库及答案C语言理论上机考试选择题部分(共200题)1、下面程序的输出是___D______#include<stdio.h>void main(){ int k=11;printf("k=%d,k=%o,k=%x\n",k,k,k);}A) k=11,k=12,k=11B) k=11,k=13,k=13C) k=11,k=013,k=0xbD) k=11,k=13,k=b2、在下列选项中,不正确的赋值语句是__D______.A) ++t; B) n1=(n2=(n3=0));C) k=i=j; D) a=b+c=1;3、下面合法的C语言字符常量是______A____. A) '\t' B) "A"C) 65 D) A4、表达式: 10!=9的值是________D____.A) true B) 非零值C) 0 D) 15、C语言提供的合法的数据类型关键字是_____B____.A) Double B) short C) integer D) Char6、字符(char)型数据在微机内存中的存储形式是__D__.A) 反码B) 补码C) EBCDIC码D) ASCII码7、C语言程序的基本单位是_____C______.A) 程序行B) 语句C) 函数D) 字符8、设int a=12,则执行完语句a+=a-=a*a后,a的值是____D____A) 552 B) 264 C) 144 D) -2649、执行下面程序中的输出语句后,输出结果是____B__.#include<stdio.h>void main(){int a;printf("%d\n",(a=3*5,a*4,a+5));}A) 65 B) 20 C) 15 D) 1010、下面程序的输出是____B______.#include<stdio.h>void main(){int x=023;printf("%d\n",--x);}A) 17 B) 18C) 23 D) 2411、下面程序的输出的是_____C____.#include<stdio.h>void main(){int x=10,y=3;printf("%d\n",y=x/y);}A) 0 B) 1 C)3 D) 不确定的值12、已知字母A的ASCII 码为十进制的65,下面程序的输出是______A_____.#include<stdio.h>void main(){char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}A) 67,D B) B,C C) C,D D) 不确定的值13、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为____D__.A) a<>0 B) !a C) a=0 D) a14、以下程序的输出结果是____D_____.#include<stdio.h>void main(){ int x=10,y=10;printf("%d %d\n",x--,--y);}A) 10 10 B) 9 9 C) 9 10 D) 10 9 15、设有如下定义:int x=10,y=3,z;则语句printf("%d\n",z=(x%y,x/y));的输出结果是_____D_____.A) 1 B) 0 C) 4 D) 316、为表示关系x≥y≥z,应使用C语言表达式___A___.A) (x>=y)&&(y>=z)B) (x>=y)AND(y>=z)C) (x>=y>=z)D) (x>=y) & (y>=z)17、C语言中非空的基本数据类型包括____B____.A) 整型,实型,逻辑型B) 整型,实型,字符型C) 整型,字符型,逻辑型D) 整型,实型,逻辑型,字符型18、若x和y都是int型变量,x=100,y=200,且有下面的程序片段:printf("%d",(x,y)); 上面程序片段的输出结果是____A___.A) 200 B) 100 C) 100 200 D) 输出格式符不够,输出不确定的值19、阅读下面的程序#include<stdio.h>void main(){char ch;scanf("%3c",&ch);printf("%c",ch);}如果从键盘上输入abc<回车>则程序的运行结果是__A_____.A) a B) b C) c D) 程序语法出错20、阅读下面的程序#include<stdio.h>void main(){int i,j;i=010;j=9;printf("%d,%d",i-j,i+j);}则程序的运行结果是____D____.A) 1,19 B) -1,19 C) 1,17 D) -1,1721、阅读下面的程序#include<stdio.h>void main(){int i,j,m,n;i=8;j=10;m=++i;n=j++;printf("%d,%d,%d,%d",i,j,m,n);}程序的运行结果是______C____.A) 8,10,8,10 B) 9,11,8,10C) 9,11,9,10 D) 9,10,9,1122、已知a=12,则表达式a+=a-=a*=a的结果是_____A__.A) 0 B) 144C) 12 D) -26423、若已定义int a,则表达式a=10,a+10,a++的值是__B_.A) 20 B) 10 C) 21 D) 1124、阅读下面的程序#include<stdio.h>void main(){int i,j;scanf("%3d%2d",&i,&j);printf("i=%d,j=%d\n",i,j);}如果从键盘上输入1234567<回车>,则程序的运行结果是____D____.A) i=123,j=4567 B) i=1234,j=567C) i=1,j=2 D) i=123,j=4525、下面程序的输出结果是____D____.#include<stdio.h>void main(){int a=-1, b=4, k;k=(++a<=0)&&(b--<=0);printf("%d,%d,%d\n",k,a,b);}A) 1,1,2 B) 1,0,3 C) 0,1,2 D) 0,0,326、下面程序的输出结果是____A____.#include<stdio.h>void main(){int a=5,b=3;float x=3.14, y=6.5;printf("%d,%d\n",a+b!=a-b,x<=(y-=6.1));}A) 1,0 B) 0,1 C) 1,1 D) 0,027、执行下面程序段后,输出结果是____A____.int a;int b=65536;a=b;printf("%d\n",a);A) 65536 B) 0 C) -1 D) 128、若有以下定义和语句:int a=010, b=0x10, c=10;printf("%d,%d,%d\n",a,b, c);则输出结果是____B_____.A) 10,10,10 B) 8,16,10C) 8,10,10 D) 8,8,1029、已知有double型变量x=2.5,y=4.7,整型变量a=7, 则表达式x+a%3*(int)(x+y)%2/4 的值是_____B____.A) 2.4 B) 2.5 C) 2.75 D) 030、若已定义x和y是整型变量,x=2;,则表达式y=2.75+x/2的值是____C____.A) 5.5 B) 5 C) 3 D) 4.031、以下程序的输出结果是____D____.#include<stdio.h>void main(){int a=12, b=12;printf("%d,%d\n",--a,++b);}A) 10,10 B) 12,12 C) 11,10 D) 11,1332、设有以下语句:int x=10;x+=3+x%(3),则x的值是.____A_____A) 14 B) 15 C) 11 D) 1233、若d为double型变量,则表达式d=1,d+5,d++的值是_____D__.A) 1 B) 6.0 C) 2.0 D) 1.034、表达式5!=3的值是____D____.A) T B) 非零值C) 0 D) 135、若有定义int a=12,n=5,则表达式a%=(n%2)运算后,a的值______A____.A) 0 B) 1 C) 12 D) 636、若有定义int x=3,y=2和float a=2.5,b=3.5,则表达式:(x+y)%2+(int)a/(int)b的值是__D__.A) 0 B) 2C) 1.5 D) 137、在C语言中,以下叙述不正确的是_____A____.A) 在C程序中,无论是整数还是实数,都能被准确无误的表示B) 在C程序中,变量名代表存储器中的一个位置C) 静态变量的生存期与整个程序的生存期相同D) C语言中变量必须先定义后引用38、C语言中的变量名只能由字母,数字和下划线三种字符组成,且第一个字符____C____.A) 必须为字母B) 必须为下划线C) 必须为字母或下划线D) 可以是字母,数字或下划线中的任意一种39、设有说明:char w; int x; float y; double z; 则表达式: w*x+z-y值的数据类型是___D____.A) float B) char C) int D) double40、一个C语言的执行是从_____A______.A) 本程序的主函数开始,到本程序的主函数结束B) 本程序的第一个函数开始,到本程序的最后一个函数结束C) 本程序的主函数开始,到本程序的最后一个函数结束D) 本程序的第一个函数开始,到本程序的主函数结束41、设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是____A____.A) 10<a<15 B) a==11||a==12||a==13||a==14C) a>10&&a<15D) !(a<=10)&&!(a>=15)42、下列程序执行后的输出结果是_____C____.#include <stdio.h>void main( ){ int a=5,b=60,c;if (a<b){c=a*b;printf("%d*%d=% d\n",b,a,c);}else{c=b/a;printf("%d/%d=%d \n",b,a,c);}}A) 60/5=12 B) 300 C) 60*5=300 D) 1243、如果c为字符型变量,判断c是否为空格不能使用____A____.(假设已知空格ASCII码为32) A) if(c=='32') B) if(c==32)C) if(c=='\40') D) if(c==' ')44、运行下面程序时,若从键盘输入"3,5<CR>",则程序的输出结果是____D____. #include <stdio.h>void main( ){int x,y;scanf("%d,%d",&x,&y);if (x==y)printf("x==y");else if (x>y)printf("x>y");elseprintf("x<y");}A) 3<5 B) 5>3 C) x>y D) x<y45、运行下面程序时,若从键盘输入数据为"6,5,7<CR>",则输出结果是____C___.#include <stdio.h>void main( ){ int a,b,c;scanf("%d,%d,%d",&a,&b ,&c);if (a>b)if (a>c)printf("%d\n",a);elseprintf("%d\n",c);elseif (b>c)printf("%d\n",b);elseprintf("%d\n",c);}A) 5 B) 6 C) 7 D) 不定值46、执行下面程序时,若从键盘输入"2<CR>",则程序的运行结果是____A____.#include <stdio.h>void main( ){ int k; char cp;cp=getchar( );if (cp>='0' && cp<='9')k=cp-'0';else if (cp>='a' && cp<='f')k=cp-'a'+10;elsek=cp-'A'+10;printf("%d\n",k);}A) 2 B) 4 C) 1 D) 1047、运行下面程序时,从键盘输入"2.0<CR>",则输出结果是___B_____.#include <stdio.h>void main( ){ float a,b;scanf("%f",&a);if (a<0.0) b=0.0;else if ((a<0.5) && (a!=2.0)) b=1.0/(a+2.0);else if (a<10.0) b=1.0/2;elseb=10.0;printf("%f\n",b);}A) 0.000000 B)0.500000C) 1.000000 D)0.25000048、执行下面程序后,运行结果是____A____.#include <stdio.h>void main( ){ int x=41,y=1;if (x%3==0 && x%7==0){ y+=x;printf("y=%d\n",y); }else{y=x;printf("y=%d",y);}}A) y=41 B) y=43 C) y=42 D) y=149、运行下面程序时,从键盘输入"12,34,9<CR>",则输出结果是___A___.#include <stdio.h>void main( ){ int x,y,z;scanf("%d,%d,%d",&x,&y ,&z);if (x<y)if(y<z)printf("%d\n",z);elseprintf("%d\n",y);else if (x<z)printf("%d\n",z);elseprintf("%d\n",x);}A) 34 B) 12 C)9 D) 不确定的值50、运行下面程序时,从键盘输入字母H,则输出结果是_____C___.#include <stdio.h>void main( ){ char ch;ch=getchar( );switch(ch){ case 'H':printf("Hello!\n");case'G':printf("Good morning!\n");default:printf("Bye_Bye!\n ");}}A) Hello!B) Hello!Good Morning!C) Hello!D) Hello!Good morning!Bye_Bye!Bye_Bye!51、执行下列程序段后的输出结果是_____A____.int x=1,y=1,z=1;x+=y+=z;printf("%d\n",x<y?y:x); A) 3 B) 2 C) 1 D) 452、设ch是char型变量,值为'A',则表达式ch=(ch>='A' && ch<='Z')?ch+32:ch的值是__B___.A) Z B) a C) z D) A53、下面程序的输出结果是____C____.#include <stdio.h>void main( ){ int x=8,y=-7,z=9;if (x<y)if (y<0) z=0;else z-=1;printf("%d\n",z);}A) 8 B) 1 C) 9 D) 054、运行下面程序时,若从键盘输入"5 <CR>",则程序的输出结果是_____B___.#include <stdio.h>void main( ){ int a ;scanf("%d",&a);if(a++>5)printf("%d\n",a);elseprintf("%d\n",a--) ;}A) 7 B) 6 C) 5 D) 455、运行下面程序时,若从键盘输入"3,4 <CR>",则程序的输出结果是____B___.#include <stdio.h>void main( ){ int a,b,s;scanf("%d,%d",&a,&b);s=a;if (s<b) s=b;s=s*s;printf("%d\n",s) ;}A) 14 B) 16 C) 18 D) 2056、下列程序的执行结果是_____D____.#include <stdio.h>void main( ){ int x=0,y=1,z=0;if (x=z=y)x=3;printf("%d,%d\n",x,z);}A) 3,0 B) 0,0C) 0,1 D) 3,157、假定等级和分数有以下对应关系:等级:A 分数:85~100等级:B 分数:60~84等级:C 分数:60 以下对于等级grade输出相应的分数区间,能够完成该功能的程序段是____D____. A) switch (grade){case'A':printf("85--100\n");case'B':printf("60--84\n");case 'C':printf("60以下\n");default:printf("等级错误!\n");}B) switch (grade){case'A':printf("85--100\n");bre ak;case'B':printf("60--84\n");case 'C':printf("60以下\n");default:printf(" 等级错误!\n");}C) switch (grade){case'A':printf("85--100\n");bre ak;case'B':printf("60--84\n");brea k;case 'C':printf("60以下\n");default:printf("等级错误!\n");}D) switch (grade){case'A':printf("85--100\n");bre ak;case'B':printf("60--84\n");brea k;case 'C':printf("60以下\n");break;default:printf("等级错误!\n");}58、能够完成如下函数计算的程序段是__B____.┌-1 x<0y= ┤0 x=0└ 1 x>0A) y=1; B) if (x>=0)if(x!=0)if(x>0) y=1;if(x>0) y=1; else y=0;else y=0; else y=-1;C) y=0; D) y=-1;if (x>=0) if (x>0) y=1;if (x>0) y=1; else y=0;else y=-1;59、有如下程序#include <stdio.h>void main( ){ float x=5.0,y;if(x<0.0) y=0.0;else if (x<10.0) y=1.0/x;else y=1.0;printf("%f\n",y);}该程序的输出结果是____C_____.A) 0.000000 B) 0.50000C) 0.200000 D)1.00000060、以下程序的执行结果是___B_____.#include <stdio.h>void main( ){ int x=1,y=0;switch (x){case 1:switch (y){case0:printf("first\n");break;case1:printf("second\n");break;}case2:printf("third\n");}}A) first B) firstsecondthirdC) first D) secondthird61、以下程序的执行结果是____A____.#include <stdio.h>void main( ){ int a,b,c,d,x;a=c=0;b=1;d=20;if (a) d=d-10;else if(!b)if (!c) x=15;else x=25;printf("d=%d\n",d); }A) d=20 B) d=10 C) d=15 D) 2562、有如下程序:#include <stdio.h>void main( ){ int a=2,b=-1,c=2;if (a<b)if (b<0) c=0;else c++;printf("%d\n",c);} 该程序的输出结果是___C_____.A) 0 B) 1 C) 2 D) 363、下列程序执行后的输出结果是____B____.#include <stdio.h>void main( ){ int x,y=1,z;if ((z=y)<0) x=4;else if (y==0) x=5;else x=6;printf("%d,%d\n",x,y);}A) 4,1 B) 6,1 C) 5,0 D) 出错信息64、有如下程序#include <stdio.h>void main( ){ int x=1,a=0,b=0;switch(x){case 0: b++;case 1: a++;case 2: a++;b++;}printf("a=%d,b=%d\n",a,b );}该程序的输出结果是______A____.A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=265、下面程序的输出结果是____C_____.#include <stdio.h>void main( ){ int a=-1,b=1,k;if ((++a<0) && (b--<=0))printf("%d %d\n",a,b);else printf("%d %d\n",b,a);}A) -1 1 B) 0 1C) 1 0 D) 0 066、假定w、x、y、z、m均为int型变量,有如下程序段:w=1;x=2;y=3;z=4;m=(w<x)?w:x;m=(m<y)?m:y;m=(m<z)?m:z;则该程序段执行后,m的值是____D_____.A) 4 B) 3 C) 2 D) 167、以下程序的输出结果是___D______.main( ){ int a=100;if (a>100) printf("%d\n",a>100);elseprintf("%d\n",a<=100);}A) a<=100 B) 100 C) 0 D) 168、若执行下面的程序从键盘上输入9,则输出结果是.______B________#include <stdio.h>void main( ){int n;scanf("%d",&n);if (n++<10) printf("%d\n",n);elseprintf("%d\n",n--);}A) 11 B) 10 C) 9 D) 869、以下程序输出结果是_____D_____.#include <stdio.h>void main( ){ int m=4;if (++m>5) printf("%d\n",m--);elseprintf("%d\n",--m);}A) 7 B) 6 C) 5 D) 470、若执行下面的程序从键盘上输入5,则输出结果是. #include <stdio.h>void main( ){int x;scanf("%d",&x);if (x++>5) printf("%d\n",x);else printf("%d\n",x--); }A) 7 B) 6 C) 5 D) 471、以下程序段运行结果是____A____.int x=1,y=1,z=-1;x+=y+=z;printf("%d\n",x<y?y:x);A) 1 B) 2 C)4 D) 不确定的值72、有以下程序#include <stdio.h>void main( ){ int a,b,c=246;a=c/100%9;b=(-1)&&(-1);printf("%d,%d\n",a,b);}输出结果是____A____.A) 2,1 B) 3,2 C) 4,3 D) 2,-173、运行下面程序时,若从键盘输入数据为"123",则输出结果是___C____.#include "stdio.h"void main(){ int num,i,j,k,place;scanf("%d",&num);if (num>99)place=3;else if(num>9)place=2;elseplace=1;i=num/100;j=(num-i*100)/10;k=(num-i*100-j*10);switch (place){ case 3: printf("%d%d%d\n",k,j,i);break;case 2: printf("%d%d\n",k,j);break;case 1: printf("%d\n",k);}}A) 123 B) 1,2,3 C) 321 D) 3,2,174、执行下列程序后的输出结果是___D____.#include <stdio.h>void main( ){ int k=4,a=3,b=2,c=1;printf("%d\n",k<a?k:c<b?c :a);}A) 4 B) 3 C) 2 D) 175、以下条件表达式中能完全等价于条件表达式x的是____B___.A) (x==0) B) (x!=0) C) (x==1) D) (x!=1)76、若运行下面程序时,给变量a输入15,则输出结果是___A___.#include <stdio.h>void main( ){ int a,b;scanf("%d",&a);b=a>15?a+10:a-10;printf("%d\n",b) ;}A) 5 B) 25 C) 15 D) 1077、运行下面程序后,输出是___D___.#include <stdio.h>void main( ){ int k=-3;if (k<=0) printf("****\n");elseprintf("####\n")}A) ####B) ****C) ####****D) 有语法错误不能通过编译78、执行下面程序的输出结果是____C____.#include <stdio.h>void main( ){ int a=5,b=0,c=0;if (a=a+b) printf("****\n");elseprintf("####\n");}A) 有语法错误不能编译B) 能通过编译,但不能通过连接C) 输出****D) 输出####79、为了避免嵌套的if-else 语句的二义性,C语言规定else总是与___C___组成配对关系.A) 缩排位置相同的ifB) 在其之前未配对的ifC) 在其之前尚未配对的最近的ifD) 同一行上的if 80、设x 、y 、z 、t均为int型变量,则执行以下语句后,t的值为____C_____.x=y=z=1;t=++x || ++y && ++z;A) 不定值B) 4 C) 1 D) 081、以下程序段____C______.x=-1;do{x=x*x;} while (!x);A)是死循环B)循环执行两次C)循环执行一次D)有语法错误82、对下面程序段描述正确的是___B____.int x=0,s=0;while (!x!=0) s+=++x;printf("%d",s);A) 运行程序段后输出0B) 运行程序段后输出1C) 程序段中的控制表达式是非法的D) 程序段循环无数次83、下面程序段的输出结果是____C____.x=3;do { y=x--;if (!y) {printf("*");continue;}printf("#");} while(x=2); A) ## B) ##* C) 死循环D)输出错误信息84、下面程序的运行结果是____B____.#include<stdio.h>void main( ){ int a=1,b=10;do{ b-=a;a++;} while(b--<0);printf("%d,%d\n",a,b);}A) 3,11 B) 2,8 C) 1,-1 D) 4,985、下面程序段的运行结果是____B______.int n=0;while (n++<=2)printf("%d",n); A) 012 B) 123 C) 234 D) 错误信息86、下面程序段的运行结果是___D_____.int x=0,y=0;while (x<15) y++,x+=++y;printf("%d,%d",y,x);A) 20,7 B) 6,12C) 20,8 D)8,2087、下面程序的运行结果是___B_____.#include<stdio.h>void main(){ int s=0,i=1;while (s<=10){ s=s+i*i;i++;}printf("%d",--i);}A) 4 B) 3 C) 5 D) 688、函数pi的功能是根据以下近似公式求π值:____C______(π*π)/6=1+1/(2*2)+1/(3*3)+. .+1/(n*n)请填空,完成求π的功能。

c上机考试试题

c上机考试试题

c上机考试试题# C上机考试试题一、单项选择题(每题2分,共20分)1. 下列关于C语言基本数据类型的说法中,错误的是()。

- A. `int` 类型通常用于表示整数- B. `float` 类型用于表示单精度浮点数- C. `double` 类型用于表示双精度浮点数- D. `char` 类型用于表示一个字符或整数2. 在C语言中,用于定义数组的关键字是()。

- A. `define`- B. `array`- C. `list`- D. `int[]`3. C语言标准输入输出使用的库函数是()。

- A. `<stdio.h>`- B. `<math.h>`- C. `<stdlib.h>`- D. `<iostream>`4. 下列哪个是C语言中的合法标识符?()- A. `class`- B. `case`- C. `2b`- D. `user_name`5. C语言中,用于实现字符串连接的函数是()。

- A. `strcpy()`- B. `strcat()`- C. `strlen()`- D. `strncpy()`6. 在C语言中,`printf` 函数的返回类型是()。

- A. `int`- B. `float`- C. `char`- D. `void`7. 下列关于C语言函数的描述中,错误的是()。

- A. 函数可以返回一个值- B. 函数可以没有返回值- C. 函数必须有返回值- D. 函数可以有多个返回值8. 在C语言中,用于计算两个整数的最大值的宏定义在哪个头文件中?()- A. `<math.h>`- B. `<stdlib.h>`- C. `<limits.h>`- D. `<stdio.h>`9. C语言中,`break` 语句的作用是()。

- A. 跳出整个循环- B. 跳出最近的一个循环- C. 跳出整个程序- D. 继续下一次循环10. 下列关于C语言结构体的描述中,错误的是()。

c语言上机试题库及答案

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语言上机考试试题

c语言上机考试试题C语言上机考试试题在计算机科学领域中,C语言是一门非常重要的编程语言。

它的简洁性和高效性使得它成为了许多程序员的首选。

而在学习C语言的过程中,上机考试是不可或缺的一环。

本文将为大家提供一些常见的C语言上机考试试题,帮助大家更好地准备考试。

一、基础知识题1. 请简述C语言的特点和优势。

2. 什么是变量?请举例说明。

3. 请解释C语言中的数据类型,并列举一些常见的数据类型。

4. 请解释C语言中的运算符,并列举一些常用的运算符。

5. 请解释C语言中的控制语句,并列举一些常见的控制语句。

二、编程题1. 编写一个程序,要求用户输入两个整数,然后输出它们的和、差、积和商。

2. 编写一个程序,要求用户输入一个正整数N,然后计算并输出1到N的所有正整数的和。

3. 编写一个程序,要求用户输入一个字符串,然后判断该字符串是否是回文字符串(即正向和反向读都相同)。

4. 编写一个程序,要求用户输入一个正整数N,然后输出N的所有因子。

5. 编写一个程序,要求用户输入一个字符串,然后统计并输出该字符串中的字母、数字和其他字符的个数。

三、综合题1. 编写一个程序,要求用户输入一个正整数N,然后输出N的阶乘。

2. 编写一个程序,要求用户输入一个正整数N,然后判断该数是否为素数。

3. 编写一个程序,要求用户输入一个正整数N,然后输出N个斐波那契数列的元素。

4. 编写一个程序,要求用户输入一个字符串,然后将字符串中的所有小写字母转换为大写字母,并输出转换后的字符串。

5. 编写一个程序,要求用户输入一个正整数N,然后输出一个N行的等腰三角形。

通过以上的试题,我们可以看到,C语言上机考试试题涵盖了C语言的基础知识、编程技巧和综合应用。

在备考过程中,我们需要掌握C语言的特点和优势,了解各种数据类型和运算符的使用方法,熟练掌握控制语句的应用,同时还需要有一定的编程能力和逻辑思维能力。

在解答试题时,我们需要仔细阅读题目要求,理清思路,合理设计程序结构,注意变量命名规范,避免出现语法错误和逻辑错误。

大一C语言上机实验试题及答案

大一C语言上机实验试题及答案

大一C语言上机实验试题及答案一、选择题(每题2分,共10分)1. C语言中,用来定义变量的关键字是()。

A. varB. defineC. intD. let答案:C2. 下列哪个选项不是C语言中的运算符?A. %B. &&C. =D. :答案:D3. 在C语言中,用于定义一个函数的关键字是()。

A. functionB. defC. intD. void答案:A4. 下列哪个选项是正确的C语言数组定义?A. int arr[] = {1, 2, 3};B. int arr[3] = {1, 2, 3};C. int arr[3] = {1, 2};D. int arr = {1, 2, 3};答案:B5. C语言中,用于输出字符串的函数是()。

A. printfB. printC. coutD. printf_s答案:A二、填空题(每题3分,共15分)1. 在C语言中,用于声明一个整型变量的关键字是____。

答案:int2. 以下代码段的输出结果是____。

```c#include <stdio.h>int main() {int a = 10;printf("%d", a++);return 0;}```答案:103. 在C语言中,用于声明一个浮点型变量的关键字是____。

答案:float4. 若有以下代码段:```cint x = 5, y = 3;int result = x / y;```则变量result的值是____。

答案:15. 在C语言中,用于声明一个字符型变量的关键字是____。

答案:char三、编程题(每题10分,共20分)1. 编写一个C语言程序,实现输入两个整数,输出它们的和。

```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("它们的和是:%d\n", sum);return 0;}```2. 编写一个C语言程序,实现输入一个字符串,然后输出其反转后的字符串。

(完整版)C语言上机练习题及答案

(完整版)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);}输入一个摄氏温度,要求输出华氏温度。

上机考试题库c语言

上机考试题库c语言

上机考试题库c语言一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于声明一个函数?A. intB. floatC. voidD. function2. 若有定义int a=5;,则以下哪个表达式的值不为5?A. a++B. a--C. ++aD. --a3. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. variable-2D. variable$24. 在C语言中,以下哪个选项表示逻辑“与”操作?A. &&B. ||C. !D. &5. 以下哪个选项是C语言中的整型数据类型?A. intB. floatC. doubleD. char6. 在C语言中,以下哪个选项用于声明一个指针?A. *B. &C. %D. #7. 若有定义int a[5]={1,2,3,4,5};,则以下哪个表达式的值不为3?A. a[2]B. *(a+2)C. a+2D. *a8. 在C语言中,以下哪个选项表示逻辑“或”操作?A. &&B. ||C. !D. |9. 在C语言中,以下哪个选项用于声明一个字符数组?A. char a[5]B. int a[5]C. float a[5]D. double a[5]10. 若有定义char str[10]="Hello";,则以下哪个表达式的值不为'o'?A. str[4]B. *(str+4)C. str+4D. *(str+5)二、填空题(每题2分,共20分)1. 在C语言中,用于声明一个整型变量的关键字是______。

2. 若有定义int a=10;,则表达式a++的值是______。

3. C语言中,用于声明一个浮点型变量的关键字是______。

4. 在C语言中,用于声明一个字符型变量的关键字是______。

5. 若有定义int a[5]={1,2,3,4,5};,则表达式*(a+2)的值是______。

c语言程序设计上机题

c语言程序设计上机题

c语言程序设计上机题C语言程序设计是一门实践性很强的课程,上机实践是学习C语言不可或缺的一部分。

下面,我将提供一些常见的C语言上机题目,以帮助学生加深对C语言编程的理解。

1. 基本数据类型和运算符编写一个C程序,实现以下功能:- 声明不同的基本数据类型变量(整型、浮点型、字符型)。

- 对这些变量进行基本的算术运算(加、减、乘、除)。

- 输出运算结果。

2. 条件语句编写一个C程序,使用条件语句(if、else if、else)实现以下功能:- 输入一个成绩,根据成绩判断等级(A、B、C、D、F)。

- 输出对应的成绩等级。

3. 循环语句编写一个C程序,使用循环语句(for、while、do-while)实现以下功能:- 输出1到100之间的所有奇数。

- 使用while循环实现1到100的累加求和。

4. 数组和字符串编写一个C程序,使用数组和字符串实现以下功能:- 声明一个整型数组,输入10个整数,找出最大值和最小值。

- 声明一个字符数组,输入一个字符串,统计字符串中每个字符出现的次数。

5. 函数编写一个C程序,使用函数实现以下功能:- 定义一个函数,实现两个整数的交换。

- 定义一个函数,计算一个整数的阶乘。

- 在主函数中调用这些函数,并输出结果。

6. 指针编写一个C程序,使用指针实现以下功能:- 声明一个整型数组和对应的指针,通过指针访问数组元素。

- 使用指针实现一个函数,交换两个变量的值。

7. 结构体编写一个C程序,使用结构体实现以下功能:- 定义一个学生结构体,包含学号、姓名、年龄和成绩。

- 输入5个学生的信息,存储在结构体数组中。

- 输出每个学生的信息。

8. 文件操作编写一个C程序,使用文件操作实现以下功能:- 创建一个文本文件,向文件中写入数据。

- 从文件中读取数据,并在屏幕上显示。

9. 排序算法编写一个C程序,实现冒泡排序算法,对一个整数数组进行排序。

10. 递归编写一个C程序,使用递归实现以下功能:- 计算阶乘。

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

一、单项选择1.题号:4889以下函数调用语句中,实参的个数是().exce((v1,v2),(v3,v4,v5),v6);A、3B、4C、5D、6// (v1,v2)是一个逗号表达式,(v3,v4,v5)也是一个逗号表达式答案:A2.题号:4093关于return语句,下列正确的说法是().A、可以在同一个函数中,出现多次B、在主函数和其他函数中,均可出现C、必须在每个函数中,出现D、只能在除主函数之外的函数中,出现一次//只能执行其中的一个的return 语句。

并且函数遇到return语句,结束函数的执行。

答案:A3.题号:4535数组名作为实参数传递给函数时,数组名被处理为().A、该数组的首地址B、该数组的元素个数C、该数组中各元素的值D、该数组的长度答案:A4.题号:4525在C语言的函数中,下列正确的说法是().A、数组名不能作形参B、可以有也可以没有形参C、形参必须是变量名D、必须有形参答案:B5.题号:4083以下正确的函数定义形式是().A、double fun(int x,int y)B、double fun(int x;int y)//错在分号C、double fun(int x,y);//错在形参y没有类型D、double fun(int x,int y);//错在函数头后没有分号答案:A6.题号:4232C语言程序中,必须有的函数是().A、main()B、#include"stdio.h"C、scanfD、printf答案:A7.题号:4048下面对函数的叙述,正确的是().A、函数中无论是否有return语句,都能返回正确值B、函数中没有return语句,说明不带回值C、函数不能嵌套定义D、函数的返回值是通过return语句获得的答案:C8.题号:4073在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是().A、传递方式由用户指定B、由实参传给形参,再由形参传回实参C、地址传递D、单向值传递答案:D9.题号:5119下列关于函数的叙述中正确的是().A、每个函数都可以单独运行//主函数可以单独运行。

其它的函数都需要被调用才能被执行。

B、在一个函数内部可以定义另一个函数//不可以嵌套定义C、每个函数都可以被单独编译D、每个函数都可以被其他函数调用(包括main()函数)//不包括主函数答案:C10.题号:4787设函数的调用形式如下:f((x1,x2),(y1,y2,y3)),则函数有()个形参.A、5B、3C、2D、4答案:C11.题号:4901在C语言中,形参的缺省存储类是().A、staticB、registerC、autoD、extern答案:C12.题号:4507C语言规定,在一个源程序中,main()函数的位置.A、必须在最开始B、必须在系统调用的库函数的后面C、可以任意D、必须在最后答案:C13.题号:4847以下叙述中,正确的是().A、main()可作为用户标识符,用以命名任意一个函数作为主函数B、C语言程序将从源程序中,第一个函数开始执行C、可以在程序中,由用户指定任意一个函数作为主函数,程序将从此开始执行D、C语言规定必须用main()作为主函数名,程序将从此开始执行,在此结束答案:D14.题号:5137以下函数的类型是fff(float x){printf("%d\n",x);}//函数返回值省略。

默认为int型。

A、void 类型B、int类型C、与参数x的类型相同D、无法确定答案:B15.题号:4403C语言规定,在一个C程序中,main()函数的位置().A、可以在任意位置B、必须在程序的最后C、必须在程序的开始D、必须在系统调用的库函数之后答案:A16.题号:4112C语言规定,函数返回值的类型是().A、由return语句中的表达式类型所决定B、由调用该函数时的主调函数类型所决定C、由调用该函数时系统临时决定D、由定义该函数时所指定的数值类型决定答案:D17.题号:4804以下所列的函数"首部"中,正确的是().()A、void play(int a,b)B、void play(int a,int b)C、void play(a:int,b:int)D、void play(a as int,b as int)答案:B18.题号:4432有以下函数定义:int fun(double a,double b){return a*b;}若以下选项中,所用变量都已正确定义并赋值,错误的函数调用是().A、z=fun(fun(x,y),fun(x,y));B、z=fun(fun(x,y)x,y);C、if(fun(x,y)){……}D、fun(x,y);答案:B19.题号:5050对于void 类型函数,调用时不可作为().A、if语句的成分语句B、表达式C、循环体里的语句D、自定义函数体中的语句//无返回值函数只能以语句形式调用。

不可以作为表达式或实参答案:B20.题号:4269若使用一维数组名作函数实参,则以下正确的说法是().A、必须在主调函数中,说明此数组的大小B、实参数组类型与形参数组类型可以不匹配C、实参数组名与形参数组名必须一致D、在被调用函数中,不需要考虑形参数组的大小答案:A21.题号:4696在C语言中,调用函数除函数名外,还必须有().A、实际参数B、()C、函数预说明D、函数返回值答案:B22.题号:4892以下错误的描述是:函数调用可以().A、做为一个函数的实参B、做为一个函数的形参C、出现在一个表达式中D、出现在执行语句中//函数调用形式一共有三种:独立语句形式。

表达式或函数的实参答案:B23.题号:4256当调用函数时,实参是一个数组名,则向函数传送的是().A、数组每个元素中的值B、数组的首地址C、数组的长度D、数组每一个元素的地址答案:B24.题号:5014若用数组名作为函数的实参,传递给形参的是().A、数组的首地址B、数组元素的个数C、数组第一个元素的值D、数组中,全部元素的值答案:A25.题号:4843如果在一个函数中的复合语句中,定义了一个变量,以下正确的说法是().A、该变量在本程序范围内均有效B、该变量只在该复合语句中,有效C、该变量在该函数中,有效D、该变量在主函数中,有效答案:B26.题号:4319C语言中,规定,程序中,各函数之间().A、既允许直接递归调用也允许间接递归调用B、允许直接递归调用不允许间接递归调用C、不允许直接递归调用允许间接递归调用D、不允许直接递归调用也不允许间接递归调用答案:A27.题号:5062凡是函数中,未指定存储类别的局部变量,其隐含的存储类别为().A、自动(auto)B、静态(static)C、外部(extern)D、寄存器(register)答案:A28.题号:4672以下叙述中,正确的是().A、构成C程序的基本单位是函数B、main()函数必须放在其它函数之前C、所有被调用的函数一定要在调用之前进行定义D、可以在一个函数中,定义另一个函数答案:A29.题号:4236全局变量的定义不可能在().A、最后一行B、文件外面C、函数内部D、函数外面答案:C30.题号:4754以下对C语言函数的描述中正确的是().A、C程序中有调用关系的所有函数必须放在同一个程序文件中B、C函数既可以嵌套定义又可以递归调用//不可以嵌套定义C、函数必须有返回值,否,则不能使用函数//函数返回值可以为voidD、C程序必须由一个或一个以上的函数组成答案:D31.题号:4045在C语言中,变量的隐含存储类别是().A、staticB、autoC、无存储类别D、extern答案:B32.题号:4578若已定义的函数有返回值,则以下关于该函数调用的叙述中,错误的是().A、函数调用可以作为一个函数的形参B、函数调用可以作为独立的语句存在C、函数调用可以作为一个函数的实参D、函数调用可以出现在表达式中,答案:A33.题号:4537以下正确的函数声明语句是().A、int add(int a,int b)//少了分号。

不是语句。

B、double add();C、int add(char a[][]);//数组第二维长度不可省略D、char add(char a,b);//b没有数据类型答案:B34.题号:4436已知year为整型变量,不能使表达式(year%4==0&&year%100 !=0) ||year%400==0的值为"真"的数据是().A、1990B、1996C、2000D、1992答案:A35.题号:5040以下叙述中,不正确的是().A、在一个函数内定义的变量只在本函数范围内有效B、在一个函数内的复合语句中,定义的变量在本函数范围内有效//在复合语句内有效C、函数中的形式参数是局部变量D、在不同的函数中,可以使用相同的名字的变量答案:B36.题号:3986函数定义时的参数为形参,调用函数时所用的参数为实参,则下列描述正确的是().A、实参与形参是双向传递//单向传递。

由实参单向赋值给形参B、形参和实参可以同名C、实参类型一定要在调用时指定//偷换概念。

形参类型一定要在定义时给定。

调用时,与函数名和实参变量名有关。

与类型无关。

D、形参可以是表达式//形参必须为变量答案:B二、判断题==================================================1.题号:4018函数的嵌套调用中,被调用函数执行完成后,均返回主函数.//返回上一级调用函数答案:错误2.题号:4872函数在说明时,可以不定义函数的形参名,只指定函数相应位置上形参的类型.函数说明语句的三种形式:int max(int a,int b); //与用户自定义函数中的形参变量名一样int max(int,int); //省略形参变量名int max(int aa,int bb); //与用户自定义函数中的形参变量名不一样答案:正确3.题号:4204函数中的形式参数是局部变量.答案:正确4.题号:4577静态局部变量是在编译时被初始化的,故它只被赋初值一次.答案:正确5.题号:4846gets 函数是用来输入一个字符的函数.//gets函数是用来输入一个字符串的。

它以回车键结束。

可以读入带空格的字符串。

答案:错误6.题号:5028静态局部变量在整个程序运行期间都不释放.答案:正确7.题号:4767函数调用时,实参和形参在类型上应按位置与形参一一对应匹配;如果类型不匹配,通常编译器并不给出出错信息.答案:正确8.题号:4984一个C程序只能由一个主函数组成//一个程序可以由一个或多个函数组成。

相关文档
最新文档