c语言机考试题及答案
c语言上机选择题题及答案

给 a 赋予 10.0, b 赋予 22.0, c 赋予 33.0, 不正确的输入形式为(B)
A. 10<回车>
B.10.0,22.0,33.0<回车>
22<回车>
33<回车>
C.10.0<回车>
D.10 22<回车>
22.0 33.0<回车>
33<回车>
20、以下说法正确的是(D)
A.输入项可以为一个实型常量,如 scanf(”%f”,3.5);
ch1=getchar(); ch2=getchar();
n1=ch1-‘0’; n2=n1*10+(ch2-‘0’);
printf(“%d”,n2);
}
程序运行时输入 12<回车>,执行后输出结果是(A)
A) 12
B) 2
C) 10
D) 11
40、若有以下语句:int a=5;printf(“%d\n”,a++); 则输出结果是(B)
{
int a;
float b;
a=4;
b=9.5;
printf("a=%d,b=%4.2f\n",a,b);
}
A. a=%d,b=%f\n
B. a=%d,b=%f
C. a=4,b=9.50
D. a=4,b=9.5
25、若有以下说明语句:(B)
char s='\\\092';
则下面哪一项是正确的.
A. 使 s 的值包含 2 个字符
void main()
{ int k=2,i=2,m; m=k+=i*=k; printf("%d,%d\n",m,i);}
全国计算机二级考试《C语言》真题练习及答案

全国计算机二级考试《C语言》真题练习及答案全国计算机二级考试《C语言》真题练习及答案一、选择题(1)下列关于栈叙述正确的是A)栈顶元素最先能被删除B)栈顶元素最后才能被删除C)栈底元素永远不能被删除D)以上三种说法都不对(2)下列叙述中正确的是A)有一个以上根结点的数据结构不一定是非线性结构B)只有一个根结点的数据结构不一定是线性结构C)循环链表是非线性结构D)双向链表是非线性结构(3)某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)A)3B)4C)6D)7(4)在软件开发中,需求分析阶段产生的主要文档是A)软件集成测试计划B)软件详细设计说明书C)用户手册D)软件需求规格说明书(5)结构化程序所要求的基本结构不包括A)顺序结构B)GOTO跳转C)选择(分支)结构D)重复(循环)结构(6)下面描述中错误的是A)系统总体结构图支持软件系统的详细设计B)软件设计是将软件需求转换为软件表示的过程C)数据结构与数据库设计是软件设计的任务之一D)PAD图是软件详细设计的表示工具(7)负责数据库中查询操作的数据库语言是A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言(8)一个教师可讲授多门课程,一门课程可由多个教师讲授。
则实体教师和课程间的联系是A)1:1联系B)1:m联系C)m:1联系D)m:n联系(9)有三个关系R、S和T如下:则由关系R和S得到关系T的操作是A)自然连接B)交C)除D)并(10)定义无符号整数类为UInt,下面可以作为类UInt实例化值的是A)-369B)369C)0.369D)整数集合{1,2,3,4,5}(11)计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是A)C语言程序仅可以编译执行B)C语言程序仅可以解释执行C)C语言程序既可以编译执行又可以解释执行D)以上说法都不对(12)以下叙述中错误的是A)C语言的可执行程序是由一系列机器指令构成的B)用C语言编写的源程序不能直接在计算机上运行C)通过编译得到的二进制目标程序需要连接才可以运行D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件(13)以下选项中不能用作C程序合法常量的是A)1,234B)'\123'C)123D)"\x7G"(14)以下选项中可用作C程序合法实数的是A).1e0B)3.0e0.2C)E9D)9.12E(15)若有定义语句:int a=3,b=2,c=1;,以下选项中错误的赋值表达式是A)a=(b=4)=3;B)a=b=c+1;C)a=(b=4)+c;D)a=1+(b=c=4);(16)有以下程序段char name[20];int num;scanf("name=%snum=%d",name;&num);当执行上述程序段,并从键盘输入:name=Lili num=1001<回车>后,name的值为A)LiliB)name=LiliC)Lilinum=D)name=Lili num=1001(17)if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是A)必须是逻辑值B)必须是整数值C)必须是正数D)可以是任意合法的数值(18)有以下程序#includemain(){ int x=011;printf("%d\n",++x);}程序运行后的输出结果是A)12B)11C)10D)9(19)有以下程序#includemain(){ int s;scanf("%d",&s);while(s>0){ switch(s){ case 1:printf("%d",s+5);case 2:printf("%d",s+4);break;case 3:printf("%d",s+3);default:printf("%d",s+1);break;}scanf("%d",&s);}}运行时,若输入1 2 34 5 0<回车>,则输出结果是A)6566456B)66656C)66666D)6666656(20)有以下程序段int i,n;for(i=0;i<8;i++){n=rand()%5;switch (n){ case 1:case 3:printf("%d\n",n); break;case 2:case 4:printf("%d\n",n);continue;case 0:exit(0);}printf("%d\n",n);}以下关于程序段执行情况的叙述,正确的是A)for循环语句固定执行8次B)当产生的随机数n为4时结束循环操作C)当产生的随机数n为1和2时不做任何操作D)当产生的随机数n为0时结束程序运行。
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语言上机题参考答案

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语言试题及答案

计算机二级考试c语言试题及答案计算机二级考试C语言试题及答案一、选择题1. 在C语言中,以下哪个选项是正确的整型常量?A. 0x123B. 123.0C. 123e2D. 123.0L答案:A2. 以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A3. 在C语言中,以下哪个选项是正确的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello, World!", 'Hello, World!'D. "Hello, World!'"答案:A4. 在C语言中,以下哪个选项是正确的函数定义?A. int add(int a, int b) { return a + b; }B. int add(int a; int b) { return a + b; }C. int add(int a, int b) { return a - b; }D. int add(a, b) { return a + b; }答案:A5. 在C语言中,以下哪个选项是正确的数组声明?A. int array[10];B. int array[];C. int array[10] = {0};D. int array = 10;答案:A二、填空题1. 在C语言中,用于输入的函数是___________。
答案:scanf2. 在C语言中,用于输出的函数是___________。
答案:printf3. 在C语言中,用于计算两个整数的差的运算符是___________。
答案:-4. 在C语言中,用于定义一个整型变量的关键字是___________。
答案:int5. 在C语言中,用于定义一个字符型变量的关键字是___________。
(完整版)C语言题库(带详解答案)

一单项选择题1.(A)是构成C语言程序的基本单位。
A、函数B、过程C、子程序D、子例程2.C语言程序从 C开始执行。
A) 程序中第一条可执行语句 B) 程序中第一个函数C) 程序中的main函数 D) 包含文件中的第一个函数3、以下说法中正确的是(C)。
A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main( )函数中定义C、C语言程序总是从main( )函数开始执行D、C语言程序中的main( )函数必须放在程序的开始部分4.下列关于C语言的说法错误的是(B)。
A) C程序的工作过程是编辑、编译、连接、运行B) C语言不区分大小写。
C) C程序的三种基本结构是顺序、选择、循环D) C程序从main函数开始执行5.下列正确的标识符是(C)。
A.-a1B.a[i]C.a2_iD.int t5~8题为相同类型题考点:标识符的命名规则(1)只能由字母、数字、下划线构成(2)数字不能作为标识符的开头(3)关键字不能作为标识符选项A中的“-” ,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3)6.下列C语言用户标识符中合法的是( B)。
A)3ax B)x C)case D)-e2 E)union选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1);7.下列四组选项中,正确的C语言标识符是(C)。
A) %x B) a+b C) a123 D) 123选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2)8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。
A、print _3d db8 aBcB、I\am one_half start$it 3paiC、str_1 Cpp pow whileD、Pxq My->book line# His.age选项B中的“\”,”$” ,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while 为关键字,不满足(3)9.C语言中的简单数据类型包括(D)。
C语言程序设计考试试卷(附答案)

C语言程序设计考试试卷(附答案)C语言程序设计考试试卷(附答案)第一部分:选择题(共40题,每题2分,总分80分)1. 下列哪个关键字用于定义常量?A. constB. intC. staticD. volatile2. 在C语言中,以下哪个运算符用于将一个整数转换为浮点数?A. *B. /C. %D. +3. 下列代码的输出结果是什么?```c#include <stdio.h>void main() {int x = 2, y = 3;printf("%d", x++ * ++y);}```A. 7B. 8C. 9D. 104. C语言中,以下哪个运算符用于从一个整数中提取指定位数的值?A. <<B. >>C. |D. &5. 下列代码的输出结果是什么?```c#include <stdio.h>void main() {int arr[] = {1, 2, 3, 4, 5};int *ptr = arr + 2;printf("%d", *ptr);}```A. 1B. 2C. 3D. 4......40. 下列关于结构体的说法中,错误的是:A. 结构体可以包含不同类型的成员变量B. 结构体可以作为函数参数和返回值C. 结构体可以使用“->”来访问成员变量D. 结构体可以使用“sizeof()”函数获取其大小第二部分:填空题(共10题,每题4分,总分40分)1. 以下是有效的C语言标识符:___hello___2. 下列代码的运行结果是:___88___```c#include <stdio.h>void main() {int x = 8;printf("%d", x++);}```3. 在C语言中,以下是有效的声明:___int i, *p;___4. 下列代码的输出结果是:___10___```c#include <stdio.h>void main() {int arr[5] = {1, 2, 3, 4, 5};int *ptr = arr + 2;printf("%d", *(ptr + 2));}```5. 在C语言中,以下是合法的函数声明:___void fun(int x, float y);___......第三部分:编程题(共3题,每题20分,总分60分)1. 编写一个函数,接受一个整型数组和数组的长度作为参数,返回数组中的最大值。
c语言试题及答案

第1章C语言概述习题1. 单项选择题(1) C 语言是在 B 语言的基础上产生的。
A. 回车符B. 冒号C. 逗号D. 分号(2) 在C 语言中,每个语句必须以 D 结束。
A. 回车符B. 冒号C. 逗号D. 分号(3) 标识符和关键字间,要用 C 隔开。
A. 回车符B. 冒号C. 空格D. 分号(4) 用C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( B )。
A. 生成可执行目标文件B. 生成目标文件C. 输出运行结果D.自动保存源文件(5) 下列说法中正确的是( B )。
A. 由于C 源程序是高级语言程序,因此一定要在TC 软件中输入B. 由C 源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入C. 由于C 程序是高级语言程序,因此输入后即可执行D. 由于C 程序是高级语言程序,因此它由命令组成(6) 下列说法中正确的是( A )。
A. C 语言程序由主函数和0 个或多个函数组成B. C 语言程序由主程序和子程序组成C. C 语言程序由子程序组成D. C 语言程序由过程组成(7) 下列说法中错误的是( D )。
A. 主函数可以分为两个部分:主函数说明部分和主函数体B. 主函数可以调用任何非主函数的其他函数C. 任何非主函数可以调用其他任何非主函数D. 程序可以从任何非主函数开始执行2. 填空题(1) C 语言只有37 个关键字和9 种控制语句。
(2) C 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系统软件又适合于编写应用程序。
(3) 每个源程序有且只有一个主函数,系统总是从该函数开始执行C语言程序。
(4) 在C 语言程序中允许出现的字符集是ASCII码字符集。
(5) C 语言的程序中有特殊含义的英语单词称为保留字。
(6) C 语言标识符的长度是前8 位有效。
(7) C 语言中,标识符的定义规则是以字母或下划线为开头。
(8) C 语言程序的注释可以出现在程序中的任何地方,它总是以/* 符号作为开始标记,以*/ 符号作为结束标记。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量'\101'是(A)。
A、字符AB、字符aC、字符eD、非法的常量下列程序段的输出结果为(C)。
float k=0.8567; printf("%4.1f%%",k*100);A、85.6%B、85.6%%C、85.7%D、.857下面的scanf函数输入数据,使得a=10,b=15,s1='S',s2='s',x1=1.5,x2=-3.75,x3=67.8, 正确的键盘输入方法是(A ).(用"[CR]"表示回车,U表示空格)main(){int a,b;float x1,x2,x3;char s1,s2;scanf("%5d%5d%c%c%f%f%*f%f",&a,&b,&s1,&s2,&x1,&x2,&x3);}A、10UUU15Ss1.5U-3.75U+1.5U67.8[CR]B、10UUU15USUs1.5U-3.75U+1.5U67.8[CR]C、10UUU15USUsU1.5U-3.75U+1.5U67.8[CR]D、10UUU15Ss1.5U-3.75U+1.5,67.8[CR]C语言的if语句中,用作判断的表达式为(A )。
A、任意表达式B、算术表达式C、逻辑表达式D、关系表达式以下程序的输出结果是:(A )main(){int m=5;if(m++>5) printf("%d\n",m);else printf("%d\n",m--);}A、6B、5C、7D、4以下for循环的执行次数是 for(x=0,y=0;(y=123)&&(x<4);x++);(C)。
A、3次B、循环次数不定D、是无限循环以下程序的执行结果是(B )。
main(){ int num = 0;while( num <= 2 ) { num++; printf( "%d,",num ); } }A、0,1,2B、1,2,3,C、1,2,3,4,D、1,2,以下不能正确进行字符串赋初值的语句是(A)。
A、char str[5]="good!";B、char str[5]={'g','o','o','d'};C、char *str="good!";D、char str[]="good!";函数调用:strcat(strcpy(str1,str2),str3)的功能是(D )。
A、将串str1复制到串str2中后再连接到串str3之后B、将串str2连接到串str1之后再将串str1复制到串str3中C、将串str1连接到串str2之后再复制到串str3之后D、将串str2复制到串str1中后再将串str3连接到串str1之后以下函数的类型是( C)。
fff(float x){return 5;}A、void 类型B、与参数x的类型相同C、int类型D、无法确定设有如下函数fac(int x){float y=1.0;return(x*y);}则函数的类型为( A).A、int型B、float型C、无法确定D、void型设有宏定义#define PI 3.14 和#define S(r) PI*r*r,则S(2)的值为(B ).B、12.56C、3.14D、9.42下列关于指针定义的描述,错误的是(A)。
A、指针是一种变量,该变量用来存放某个变量的值B、指针是一种变量,该变量用来存放某个变量的地址值C、指针变量的类型与它所指向的变量类型一致D、指针变量的命名规则与标识符相同以下程序的输出结果是(A ).main(){char str[ ]="ABCD",*p=str;printf("%d\n",*(p+3));}A、68B、不确定的值C、字符D的地址D、0对结构体类型的变量的成员的访问,无论成员是何种数据类型都可使用的运算符是(B)。
A、&B、.C、*D、->在C语言中,各种类型的整型数据在内存中都占2个字节。
错若有 int i=10,j=2;则执行完i*=j+8;后ⅰ的值为28。
错格式字符%g选用%e或%f格式中输出宽度较长的一种格式输出实数.错C语言程序中输入一个中间带有空格的字符串时,可以用scanf函数。
错设d=1,e=2,f=3,则逻辑表达式!(d+e)+f&&e+f*2的值为0.错已知a=4,b=2,c=3,d=5,表达式a>b?a:c<d?c:d的值为4.正语句if(a>b) printf("%d",a); else printf("%d",b);可以用语句 printf("%d",a>b?a:b);取代.正在do-while循环中,任何情况下都不能省略while.正break语句能够终止当前进行的多层循环.错continue语句对于while和do-while循环来说,意味着转去计算While表达式.正对静态变量的初始化不是在编译阶段完成的。
错gets 函数是用来输入一个字符的函数.错设有数组定义: char array[ ]="hello"; 则数组 array所占的内存空间为5字节.错当全局变量与局部变量同名时,在局部变量的作用域范围之内,局部变量起作用.正C语言中,通过函数调用只能获得一个返回值.错数组名作为函数调用时的实参,实际上传递给形参的是数组第一个元素的值.错被包含文件与其所在的文件(即用#include命令的源文件),在预编译后,成为同一个文件.正如果需要向函数内传递多个值,用数组和用指针效果是一样的.正两个类型相同的结构体变量,可以互相赋值.正C语言中,在打开文件时,必须说明文件的使用方式,"wb+"只能用于文件的写.错int x; x=-3+4%-5*3, 则x的值为_9____.下列语句输出的结果是__-1___.unsigned int b=65535;printf("%d",b);x=5,y=8时,c语言表达式5-2>=x-1<=y-2的值是__1___.设x和y均为int型变量,则以下for循环中的scanf语句最多可执行的次数是____3_.for (x=0,y=0;y!=123&&x<3;x++)scanf ("%d",&y);连接字符串的函数是___ strcat__,只写函数名即可.从函数的形式上看,函数分为无参函数和有参函数_____两种类型.定义int *p,a[5];将数组a的首地址赋给指针变量p的语句是__ p=ap=&a[0]p=a;p=&a[0];___.设有以下结构类型说明和变量定义,则变量a在内存所占字节数是 ___34__。
struct stud { char name[10]; float s[4]; double ave; } a,*p;【程序设计】--------------------------------------------------功能:编写函数fun(str,i,n),从字符串str中删除第i个字符开始的连续n个字符(注意:str[0]代表字符串的第一个字符)。
------------------------------------------------*/#include "stdio.h"#include "string.h"main(){char str[81];int i,n;void fun(char str[],int i,int n);void TestFunc();printf("请输入字符串str的值:\n");scanf("%s",str);printf("你输入的字符串str是:%s\n",str);printf("请输入删除位置i和待删字符个数n的值:\n");scanf("%d%d",&i,&n);while (i+n-1>strlen(str)){printf("删除位置i和待删字符个数n的值错!请重新输入i和n的值\n"); scanf("%d%d",&i,&n);}fun(str,i,n);printf("删除后的字符串str是:%s\n",str);TestFunc();}void fun(char str[],int i,int n){/*********Begin**********/【参考代码】while(str[i+n-1]){str[i-1]=str[i+n-1];i++;}str[i-1]='\0';===============【考生代码】【程序设计】--------------------------------------------------功能:请编一个函数void fun(int tt[M][N],int pp[N]),tt指向一个M行N列的二维数组,求出二维数组每列中最小元素,并依次放入pp所指一维数组中。
二维数组中的数已在主函数中赋予。
------------------------------------------------*/#include "conio.h"#include "stdio.h"#define M 3#define N 4void fun(int tt[M][N],int pp[N]){/*********Begin**********//********** End **********/}main(){int t[M][N]={{22,45,56,30},{19,33,45,38},{20,22,66,40}}; void NONO();int p[N],i,j,k;printf("The original data is:\n");for(i=0;i<M;i++){for(j=0;j<N;j++)printf("%6d",t[i][j]);printf("\n");}fun(t,p);printf("\nThe result is:\n");for(k=0;k<N;k++) printf("%4d",p[k]);printf("\n");NONO();}void NONO(){int i,j, array[3][4],p[4];FILE *rf, *wf ;rf = fopen("in.dat", "r") ;wf = fopen("out.dat", "w") ;for (i=0; i < 3; i++)for (j=0; j < 4; j++)fscanf(rf, "%d", &array[i][j]);fun(array,p);for (j=0; j < 4; j++){fprintf(wf, "%7d", p[j]);fprintf(wf, "\n");}fclose(rf) ;fclose(wf) ;}【参考代码】int i,j;for(j=0;j<N;j++){pp[j]=tt[0][j];for(i=1;i<M;i++)if(tt[i][j]<pp[j])pp[j]=tt[i][j];}===============【考生代码】【程序改错】-------------------------------------------------------- 功能:求1到20的阶乘的和。