C语言程序设计试题第1套(山东建筑大学)
C语言程序设计试题及答案解析

C语言程序设计试题第1、2、3章 概述、类型、表达式一、选择题1、 一个C程序由若干个C函数组成,各个函数在文件中的位置顺序为:( )A、 任意B、 第一个函数必须是主函数,其他函数任意C、 必须完全按照执行的顺序排列D、 其他函数可以任意,主函数必须在最后2、 下列四个叙述中,正确的是:( )A、 C程序中的所有字母都必须小写B、 C程序中的关键字必须小写,其他标示符不区分大小写C、 C程序中的所有字母都不区分大小写D、 C语言中的所有关键字必须小写3、 下列四个叙述中,错误的是:( )A、 一个C源程序必须有且只能有一个主函数B、 一个C源程序可以有多个函数C、 在C源程序中注释说明必须位于语句之后D、 C源程序的基本结构是函数4、 下面不是C语言合法标识符的是:( )A、abcB、5nC、_4mD、x35、 以下叙述不正确的是:( )A. 分号是C语句的必要组成部分B. C程序的注释可以写在语句的后面C. 函数是C程序的基本单位D. 主函数的名字不一定非用main来表示6、 C语言中允许的基本数据类型包括:( )A. 整型、实型、逻辑型B. 整型、实型、字符型C. 整型、字符型、逻辑型D. 整型、实型、逻辑型、字符型7、 C语言中能用八进制表示的数据类型为:( )A、字符型、整型B、整形、实型C、字符型、实型、双精度型D、字符型、整型、实型、双精度型8、 下列属于C语言合法的字符常数是:( )A、’\97’B、”A”C、’\t’D、”\0”9、 在C语言(VC环境)中,5种基本数据类型的存储空间长度的排列顺序为:( )A、char<int<=long int <=float<doubleB、char=int<long int <=float<doubleC、char<int<long int=float=doubleD、char=int=<long int <=float<double10、 在C语言中(VC环境),一定是长整型常数的是:( )A、0LB、4962710C、0412765D、0xa34b7fe11、 若有以下定义语句char c1=’b’, c2=’e’;printf(“%d,%c\n”,c2-c1,c2-‘a’+’A’);则输出结果是:( )A、2,MB、3,EC、2,ED、输出项与相应的格式控制不一致,输出结果不确定12、 以下合法的赋值语句是:( )A、x=y=100B、d--;C、x + yD、c = int(a+b);13、 设变量t为int型,下列选项中不正确的赋值语句是:( )A、++t;B、n1=(n2=(n3=0));C、k=i==m;D、a=b+c=1;14、 在以下一组运算符中,优先级最高的是:( )A、<=B、==C、%D、&&15、 下列能正确表示a≥10或a≤0的关系表达式是:( )A、a>=10 or a<=0B、a<=10 || a>=0C、a>=10 || a<=0D、a>=10 && a<=016、 下列只有当整数x为奇数时,其值为“真”的表达式是:( )A、x%2==0B、!(x%2==0)C、(x-x/2*2)==0D、! (x%2)17、 设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是:( )A、1 0< a < 15B、!(a<=10 || a>=15)C、a>10 && a<15D、!(a<=10) && !(a>=15)18、 已知x=43, ch=’A’,y=0;则表达式(x>=y&&ch<’B’&&!y)的值是:( )A、0B、语法错C、1D、“假”19、 表达式17%4 /8的值为:( )A、0B、1C、2D、320、 语句printf(“%d”,(a=2)&&(b= -2));的输出结果是:( )A、无输出B、结果不确定C、-1D、121、 一个可执行的C程序的开始执行点是:( )A. 程序中的第一个语句B. 包含文件中的第一个函数C. 名为main的函数D. 程序中的第一个函数22、 组成C语句的一个必不可少的符号是:( )A. 逗号B. 引号C. 冒号D. 分号23、 若将int、long、float等类型的数据进行混合运算,其结果的数据类型是:( )A. intB. longC. floatD. double24、 下述是C语言中有关变量定义的几个说法,正确的是:( )A. 变量可以不定义直接使用B. 一个说明语句只能定义一个变量C. 几个不同类型的变量可在同一语句中定义D. 变量可以在定义时进行初绐化25、 与x * = y + z等价的赋值表达式是:( )A. x = y + zB. x = x * y + zC. x = x * (y + z)D. x = x + y * z26、 当代电子计算机能够自动地处理指定的问题是因为:( )A.计算机是电动的B.有解决该问题的计算机程序C.事先存储了解决该问题的程序D.以上都不是27、 以下叙述中最准确的是:( )A.计算机程序是处理某一问题所有指令的集合B.计算机程序是处理某一问题所用到的所有数据的集合C.计算机程序是处理某一问题的所有指令及其数据的集合D.计算机程序是处理某一问题的所有指令及其数据的有序集合28、 关于计算机程序设计,以下描述最准确的是:( )A.程序设计就是用语言来编写程序B.程序设计就是用计算机语言来编写程序C.程序设计就是用计算机程序设计语言来编写程序D.程序设计就是用计算机能识别的语言来编写程序29、 目前编写计算机程序一般采用的是:( )A.机器语言 B.汇编语言 C.高级语言 D.英语30、 设计一个计算机程序最基本的工作是:( )A.制定正确的算法 B.选择合理的数据结构C.制定正确的算法和选择合理的数据结构 D.以上都不是31、 算法具有五个特性,以下选项中不属于算法特性的是:( )A.有穷性 B.简洁性 C.可行性 D.确定性32、 下述哪一个不是结构化程序基本结构:( )A.顺序 B.选择 C.循环 D.嵌套33、 C语言是一种:( )A.机器语言 B.汇编语言 C.高级语言 D.以上都不是34、 C语言源程序的扩展名为:( )A..exe B..c C..obj D..cpp35、 C程序编译后最终产生(即计算机执行)的文件的扩展名为()A..exe B..c C..obj D..cpp36、 下列各项中,不是C语言的特点是:( )A.语言简洁、紧凑,使用方便B.程序执行效率高,可移植性好C.能实现汇编语言的大多数功能D.有较强的网络操作功能37、 构成C语言源程序的基本单位是:( ) A.子程序 B.过程 C.文本 D.函数38、 下列叙述正确的是:( )A.C语言源程序可以直接在DOS环境中运行B.编译C语言源程序得到的目标文件可以直接在DOS环境中运行C.C语言源程序经过编译、连接得到的可执行程序可以直接在DOS环境中运行D.C语言源程序可以直接在VC++环境中运行39、 某C程序由一个主函数main()和一个自定义函数max()组成,则该程序:( )A.写在前面的函数先开始执行B.总是从main()函数开始执行C.总是从max()函数开始执行D.写在后面的函数先开始执行40、 以下叙述不正确的是:( )A.分号是C语句的必要组成部分B.C程序的注释可以写在语句的后面C.函数是C程序的基本单位D.主函数的名字不一定用mian表示41、 以下为C语句的是:( )A.a=8 B.a++; C.if(a>8) D.#include <stdio.h>以下不是C语句的是:( )A.a=8; B.a++; C.if(a>8); D.for(i=1;i<5;i++)42、 以下所列语句中,合法的语句是:( )A.a=1,b=2 B.++a; C.a=a+1=5 D.y=int(a);43、 C程序中的复合语句指的是:( )A.并列的多个C语句 B.写在同一行中的多个C 语句C.用一对大括号对括的多个C语句 D.就是函数体中的语句44、 当一个很长的C语句(中间无字符串)在一行写不下(超出屏幕的宽度)时,应该:( )A.由系统自动换行 B.立即按回车键换行C.在任意一个空格处按回车键换行D.输入一个分号后并按回车键换行换行45、 在x值处于-2~2,4~8时值为“真”,否则为“假”的表达式是:( )。
大学C语言题库真题第一套题(含答案)

C语言程序设计试题库(第1套)一、单项选择题(每小题2分,共50分)1、一个C程序的执行是从___B____。
A、本程序的main函数开始,到main函数结束B、本程序的main函数开始,到本程序文件的最后一个函数结束C、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束D、本程序文件的第一个函数开始,到本程序main函数结束2、C语言程序的基本单位是_____C___。
A、程序行B、语句C、函数D、字符3、请选出可用作C语言用户标识符的一组标识符_____B___。
A、voidB、a3_b3C、ForD、2adefine _123 -abc DOWORD IF ase sizeof4、假定x和y为double型,则表达式(x=2,y=x+5/2)的值是_C_____ 。
A、4.500000B、4C、4.000000D、2.0000005、下列可以正确表示字符型常量的是__C____。
A、297B、"a"C、"\n"D、'\t'6、在C语言中,要求运算数必须是整型的运算符是___D___。
A、/B、++C、*=D、%7、C语言中,复合语句的构成是将一系列语句置于__C____。
A、begin与end之间B、方框号“[ ]”之间C、花括号“{ }”之间D、圆括号“( )”之间8、有如下程序段,对应正确的数据输入是____B___。
float x,y;scanf(”%f%f”, &x,&y);printf(”a=%f,b=%f”, x,y);A、2.04<回车>B、2.04,5.67<回车>5.67<回车>C、A=2.04,B=5.67<回车>D、2.045.67<回车>9、以下程序段的输出结果是___B___。
int a=5678;printf(”%2d\n”, a);A、提示出错、无结果B、56C、78D、567810、已知:char ch='A';则下列表达式的值是___B___。
2022-2023学年山东省聊城市全国计算机等级考试C语言程序设计真题一卷(含答案)

2022-2023学年山东省聊城市全国计算机等级考试C语言程序设计真题一卷(含答案)学校:________ 班级:________ 姓名:________ 考号:________一、单选题(12题)1.以下叙述中正确的是()。
A.在C语言程序中,main函数必须放在其他函数的最前面B.每个后缀为C的C语言源程序都可以单独进行编译C.在C语言程序中,只有main函数才可单独进行编译D.每个后缀为.C的C语言源程序都应该包含一个main函数2.有1000个无序的整数,希望使用最快的方式找出前50个最大的,最佳的选择是()A.冒泡排序B.基数排序C.堆排序D.快速排序3.4.下列关于栈的描述中错误的是( )。
A.栈是先进后出的线性表B.栈只能顺序存储C.栈具有记忆作用D.对栈的插入与删除操作中,不需要改变栈底指针5.若以“a+”方式打开一个已存在的文件,以下叙述正确的是()。
A.文件打开时,原有文件内容不被删除,可以进行添加和读操作B.文件打开时,原有文件内容不被删除,位置指针移到文件开头,可以进行重写和读操作C.文件打开时,原有文件内容不被删除,位置指针移到文件中间,可以进行重写和读操作D.文件打开时,原有文件内容被删除,只可进行写操作6. 若有定义int a=5, b=7;,则表达式a%=(b%2)运算后,a的值为( )。
A.0B.1C.11D.37.8. 以下程序的运行结果是______。
#include<stdio.h>main() {int a[]:{1,2,3,4,5,6,7,8,9,10,11,12):int*p=a+5,*q=NULL:*q=*(p+5):printf("%d%d\n",*p,*q);}A.运行后报错B.66C.612D.559.有以下程序:#include<stdio.h>int f(int m){ static int n=0;n+=m;return n;}main(){ int n=0;printf("%d,"f(++n));printf("%d\n",f(n++));}程序运行后的输出结果是()。
C语言程序设计练习题(答案)

C语言程序设计练习题(答案)1.1上机实训项目实验1实验步骤1、进入VC环境从“开始”→“程序”→“Microsoft Visual Studio 6.0”→“Microsoft Visual C++ 6.0”,这时进入VC集成环境的主菜单窗口,屏幕显示如图1_1所示。
图1-1 VC集成环境的主菜单窗口2、VC环境下C程序的编辑、连接和运行(1)新建一个源程序①在VC环境中选择“文件”菜单,然后单击“新建”菜单项。
如图1-2所示图1-2 选择新建② 在弹出的新建对话框中设置好相应的内容,如图2-2所示。
要事先准备好保存文件的目录,例d:\lx 目录。
在图1-3中“文件”一栏的源程序文件的扩展名一定要输入C 语言程序的扩展名“.c ”。
设置好后,单击“OK ”,就回到了VC++的编辑界面,即将进行输入和编辑的源程序文件example.c 文件存放在D 盘的LX 目录下。
图1-3 新建对话框的设置③ 在图1-4的工作区中,输入源程序2.设置源程序的文件名,扩展名一定要为“.c ”且一定要输入扩展名1.单击该处3.设置存放目录图1-4 输入、编辑源程序④输入源程序文件后可在主菜单栏中选择“文件”(FILE),并在其下拉菜单中选择“保存”(SAVE),如图1-5所示。
图1-5 保存源程序⑤源程序的编译如图2-6所示,单击主菜单的“编译”(Build),在其下拉菜单中选择“编译example.c”(Compile example.c),或者单击工具栏上的“编译”按钮,如图1-6所示。
在单击“编译”后,屏幕上会出现一个如图1-7所示的对话框。
内容是“This build command requires an activeproject worksapce,Would you like to create a default project worksapce?”,要创建一个默认的项目工作区,单击“是(Yes)”,表示同意,将开始编译;单击“No ”,表示不同意,将取消编译。
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语言程序设计试题及答案解析

c语言程序设计试题及答案解析C语言程序设计试题及答案解析一、选择题1. 下列哪个选项不是C语言的基本数据类型?A. intB. floatC. stringD. double答案:C2. C语言中,以下哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C二、填空题1. 在C语言中,用于定义一个整型变量的关键字是______。
答案:int2. 若有以下C语言代码段:```cint a = 5, b = 10;printf("%d", a + b);```执行后输出的结果是______。
答案:15三、简答题1. 简述C语言中数组的定义和初始化方式。
答案:在C语言中,数组是一种基本的数据结构,用于存储具有相同类型的多个元素。
数组的定义方式为:类型名数组名[数组大小];初始化方式可以是静态初始化,即在定义时直接赋值,如:int arr[5] = {1, 2, 3, 4, 5}; 或者动态初始化,即在定义后使用循环或赋值语句逐一赋值。
四、编程题1. 编写一个C语言程序,实现求一个整数的阶乘。
```c#include <stdio.h>int factorial(int n) {if (n == 0)return 1;elsereturn n * factorial(n - 1);}int main() {int num;printf("请输入一个整数:");scanf("%d", &num);printf("%d 的阶乘是:%d\n", num, factorial(num));return 0;}```五、分析题1. 请分析以下C语言代码段的运行结果,并解释原因。
```c#include <stdio.h>int main() {int x = 10;printf("%d", x++);return 0;}```答案:代码段的运行结果是10。
C语言程序设计-第1-7章选择、填空习题及答案

习题一一、选择题1.C程序的基本单位是(A)。
A.函数B.文件C.语句D.字符2.C程序中的变量(B)。
A.不用说明B.先说明后引用C.先引用后说明D.引用和说明顺序无关3.变量的说明在(B)。
A.执行语句之后B.执行语句之前C.执行语句当中D.位置无关4.C语言是一种(C)。
A.机器语言B.符号语言C.高级语言D.面向对象的语言二、填空题1.一个C程序总是从主函数开始执行。
2.结构化程序由顺序、选择、循环三种基本结构构成。
3.一个C程序只有一个名为main的主函数。
4.C程序中的每个语句以分号结束。
5.C程序中,函数由函数首部和函数体组成。
6.每个基本结构有一个入口和一个出口,没有死循环和死语句。
7.算法是计算机解决问题所依据的步骤。
习题二一、选择题1.下列数据中属于字符串常量的是( B)。
A.ABC B."ABC" C.'abc' D.'A'2.在计算机内存中,'\n'占用的字节数是( C)。
A.4 B.3 C.1 D.23.字符串"ABC"在内存中占用的字节数是( D)。
A.6 B.8 C.3 D.44.在C语言中,合法的长整型常数是( B)。
A.568701400 B.0L C.0.03546287 D.2.654e115.char型常量在内存中存放的是( A)。
A.ASCII代码值B.BCD代码值C.十进制代码值D.内码值6.下列各项中正确的标识符是( D)。
A.?bb B.a=8 C. b.βD.b_47.下列不正确的转义字符是( D)。
A.\\ B.\ 0 C.\" D.0x48.设整型变量a、b的值均为5,则表达式(m=n=a++)/(n=b-2)的值为( B)。
A.0 B.1 C.2 D.39.设a的值为5,执行下列语句后,b的值不为2的是( C)。
A.b=a/2 B.b=6-(--a) C.b=a%2 D.b=(float)a/2 10.执行语句x=(a=3,b=a--)后,x、a、b的值依次是( C)。
C语言程序设计课后习题1-8参考答案

C语言程序设计课后习题1-8参考答案习题1参考答案一、简答题1、冯诺依曼计算机模型有哪几个基本组成部分?各部分的主要功能是什么?答:冯诺依曼计算机模型是由运算器、控制器、存储器、输入设备、输出设备五大功能部件组成的。
运算器又称算术逻辑部件,简称ALU,是计算机用来进行数据运算的部件。
数据运算包括算术运算和逻辑运算。
控制器是计算机的指挥系统,计算机就是在控制器的控制下有条不紊地协调工作的。
存储器是计算机中具有记忆能力的部件,用来存放程序和数据。
输入设备是用来输入程序和数据的部件。
输出设备正好与输入设备相反,是用来输出结果的部件。
2、简述计算机的工作原理。
答:计算机的工作原理可简单地概括为:各种各样的信息,通过输入设备,进入计算机的存储器,然后送到运算器,运算完毕把结果送到存储器存储,最后通过输出设备显示出来。
整个过程由控制器进行控制。
3、计算机软件系统分为哪几类?答:软件内容丰富,种类繁多,通常根据软件用途将其分为两大类:系统软件和应用软件。
系统软件是指管理、监控、维护计算机正常工作和供用户操作使用计算机的软件。
这类软件一般与具体应用无关,是在系统一级上提供的服务。
系统软件主要包括以下两类:一类是面向计算机本身的软件,如操作系统、诊断程序等。
另一类是面向用户的软件,如各种语言处理程序(像BC、VC等)、实用程序、字处理程序等。
应用程序是指某特定领域中的某种具体应用,供最终用户使用的软件,它必须在操作系统的基础上运行。
4、什么叫软件?说明软件与硬件之间的相互关系。
答:软件是指计算机程序及有关程序的技术文档资料。
两者中更为重要的是程序,它是计算机进行数据处理的指令集,也是计算机正常工作最重要的因素。
在不太严格的情况下,认为程序就是软件。
硬件与软件是相互依存的,软件依赖于硬件的物质条件,而硬件则需在软件支配下才能有效地工作。
在现代,软件技术变得越来越重要,有了软件,用户面对的将不再是物理计算机,而是一台抽象的逻辑计算机,人们可以不必了解计算机本身,可以采用更加方便、更加有效地手段使用计算机。
C语言程序设计试题第一套-答案

7 20 25 24 15
6 19 18 17 16
5 43 21
四、程序填空题(每空2分,共40分)
1
j=i+1
11
fscanf(fp1, "%s %d ", , &a.score)
写出fscanf, )
unsigned long int x, char*a
16
rotate(a,3)
(写出rotate但参数格式错误扣1分)
7
t[x%16]
17
a[i]=='\0'
8
n+1
18
a[i+n]!=' ' && a[i+n]!='\0'
(少写1个扣1分)
9
fp1==NULL || fp2==NULL
(写出1个给1分)
《 C程序设计基础与实验》课程期末考试答卷
一、单选题(共10题,每小题1分,共10分)
1
2
3
4
5
6
7
8
9
10
C
B
D
C
A
B
B
A
D
C
二、填空题(共10题,每小题2分,共20分)
1
x=-1, y=1
6
(a>>31)==1或~a<a或a&0x80000000==1或a&(1<<31)或(long int)a<0
3
j<=n-1
(写成a[i]==a[j]没有分)
13
n = strlen(s)
4
程序设计基础(C语言)上机考试题 第一套

程序设计基础(C语言)上机考试题(第一套A卷)2006~2007学年春学期2007年5月应试人声明:我保证遵守《上海大学学生手册》中的《上海大学考场规则》,如有考试违纪、作弊行为,愿意接受《上海大学学生考试违纪、作弊行为界定及处分规定》的纪律处分。
应试人学号:姓名:学院/教师:考生须知:1.答题前必须先进行“登录”,做法是:在Windows2000下,双击D:\CTest文件夹中的“C上机考登录”图标(快捷方式),进入“程序设计基础(C)上机考试考生登录”框,正确键入学号和密码,单击“输入确定”按钮,框内将显示姓名、学院、教师、考场、机号、试题套号和卷类等信息,单击“确认”按钮(如遇换机,可先单击“换机器”按钮,键入所换的机号和考场),屏幕出现“登录成功”提示框,仔细阅读提示后单击“确定”按钮,即完成登录。
登录成功,会在你E:盘中形成一个用于存放答题源程序文件的E:\CPanswer文件夹,其中已有一个存放你登录信息的名为StInfo.DAT的文件。
2.答题源程序必须存入E:\CPanswer文件夹中。
源程序文件主名必须为:套号-卷类-题号。
如:1-A-3是第一套A卷第3题的源程序。
3.必须严格按题目要求的输入、输出格式来输入、输出。
4. 除非题目中另有要求,假定输入的数据总是正确的。
5.阅卷时以试题要求和程序的运行结果为准。
6. 要遵守考场纪律,有问题请告知监考老师帮助解决。
7.完成答题后,可检查答题源程序文件的个数、存放位置(即E:\CPanswer文件夹中)以及文件名是否正确,方法是:双击D:\CTest文件夹中的“C上机考检查”图标(快捷方式),屏幕会显示“应有和现有文件”以及“缺少文件”的信息。
8.考试结束,应将试卷交监考老师。
机考试题:第1题(7分,源程序文件1-A-1.C )从键盘输入某地某年12个月的降雨量,然后计算每月的降雨量在年降雨量中所占的百分比(四舍五入为整数,且不会超过全年的70%),再以下面例图所示的直方图形式打印出来,其中:第一部分为月份,占2列;第二部分为百分比,占5列;第三部分从第9列开始,为用#号图示比例,1个#号为1%。
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语言程序设计习题集东华理工大学2014.9基础知识一单项选择题(每题2分,共44分)1 以下叙述正确的是___。
A C程序基本组成单位是语句B C程序每一行只能写一个语句C 简单C语句必须以分号作为结束符D 注释语句可以嵌套2 一个C语言程序是从___开始执行的。
A 程序中第一个函数B 名为main的函数C 包含文件(头文件)的第一个函数D 程序中的第一个语句3 请选出合法的C语言赋值语句___。
A a=b=58B i++;C a=58,b=58D k=int(a+b);4 下面标识符中,合法的用户标识符是___。
A 1abcB includeC a-b-c123D char5 以下所列的C语言整形常量中,正确的是___。
A 0x10B 0976C 076LD 01ff6 C语言中下列运算符的操作数必须为整型的是___。
A %B ++C /D =7 设a和b均为int型变量,则执行以下语句后的输出为___。
int a=20; int b=3; printf("%d\n",a+=(b%=2));A 20B 21C 0D 238 已知int i;,则执行语句 i=2.6;后,i的值为___。
A 2B 3C 2.6D 不确定9 以下合法的字符常量为___。
A 'ab'B '\482'C '\'D '\xaf'10 若y为int型变量,则执行以下语句后,y的值是___。
y=8; y+=y-=y*y;A 64B –56C –112D –4811 以下合法的浮点型常量是___。
A e-3B 1.5e+2.4C 3.14e+2LD 3.14 e +512 设int数据占用两个字节,float数据占用四个字节,double数据占用8个字节,且已知float a=2;int b=3;则执行下列语句输出为___。
printf("%d",sizeof(a*b)+2/5);A 4B 8C 6D 713 设int型占2个字节,且int i=-2;,则语句printf("%u",i);的输出结果为___。
C语言程序设计教程习题答案(第一章)

习题参考答案第一章一选择题1 答:选B。
分析:在C语言中,程序中的注释可以出现在程序中任何地方,为了方便程序理解,一般不建议写在变量名或关键字的中间,但这样写程序是允许的,故选项A不正确。
在C语言的算术运算符中,取余运算符“%”的两个运算分量必须是整数,但对于其他运算符,如“+”、“-”来说,两侧的运算符类型也可以不一样,例如左侧为一个字符类型,右侧为一个整数类型,系统在执行程序时会自动将字符类型转换成ASCII值进行运算,故选项C不正确。
C 语言的数值表示时各个数位必须紧靠在一起,否则编译系统只会识别紧靠运算符的一部分数值,另一部分数值会发生语法错误,故选项D也不正确。
2 答:选D。
分析:C语言中的标识符只能由字母、数字和下划线构成,并且第一个字符必须是字母或者下划线,同时不能与C语言中的关键字相同。
3 答:选C。
分析:在C语言的算术运算符中,取余运算符”%”的左右两侧的两个运算分量必须是整数,所以选项C的赋值语句是错误。
4 答:选B。
5 答:选B。
分析:选项A和B互斥,因此必有一个是错误的,在C语言运行工程中,编译器的作用是将程序转换为目标代码,目标代码都是二进制的。
6 答:选A。
分析:选项A中整数常量不能有千位分隔符,错误。
选项B表示的是一个转义字符,三位八进制数代表一个ASCII字符。
7 答:选A。
分析:实数常量的指数形式要求字母e(或E)前后必须有数字,且后面的指数必须为整数。
所以选项B、C、D均是不合法的指数形式。
8 答:选A。
分析:此题考查C语言中赋值表达式的概念。
用一个赋值运算符“=”将一个变量和一个表达式连接起来的式子称为赋值表达式。
选项A中缺少表达式。
9 答:选B。
分析:根据优先级先计算x/y,即12/8,由于是整型,故x/y的值为1,接着计算0.9+1=1.9,由于z定义为整型,故最终结果为1。
二上机改错题1 答:第一行的末尾有多余的分号“;”第一行的文件名stdio.h缺双引号“”或< >括住第二行主函数main的末尾有多余的“;”第二行的注释有错,C语言规定“/”与“*”之间不能有空格main函数体缺函数体括号“{}”第三行的注释有错,C语言规定:注释内容由一对“/*”和“*/”括住,并且“/*”总是与离它最近的“*/”配对,由此可以看出,改行注释中有一个多余的“,”,末尾的“*/”由于没有“/*”与之配对,因此也是多余的。
C语言程序设计试题第1套(山东建筑大学)

C语言程序设计试题(第1套)一.单项选择题〔30分,每题2分〕1.用C语言编写的代码程序______。
A、可立即执行B、是一个源程序C、经过编译即可执行D、经过编译解释才能执行2. C语言中用于结构化程序设计的三种根本结构是______。
A、顺序结构、选择结构、循环结构B、 if、switch、breakC、 for、while、do-whileD、 if、for、continue3. 以下选项中合法的实型常数是______。
A、5E2.0B、 E-3 C4. 假定x和y为 double型,那么表达式x=2,y=x+3/2的值是______。
A、 3.500000B、 3C、 2.0000005. ch是字符型变量,下面不正确的赋值语句是______。
A、ch = 65;B、 ch="a";C、 ch ='\ n';D、 ch= 9+ '0';6. 以下有关C语言程序书写格式的说法哪个是错误的?A、 C程序的书写格式比拟自由,一个语句可以占多行,一行也可以有多个语句。
B、 C语句必须要有分号。
C、 C语言程序的标识符必须使用小写字母。
D、用{ } 括起来的局部,通常表示了程序的某一层次结构,称为块。
7.下面程序段所表示的数学函数关系是______。
x= -1;if (a!=0)if (a>0) x=1;else x=0;-1 (a<0) 1 (a<0)A、x= 0 (a=0)B、x= -1 (a=0)1 (a>0) 0 (a>0)0 (a<0) -1 (a<0)C、x= -1 (a=0)D、x= 1 (a=0)1 (a>0) 0 (a>0)8. 以下关于do-while循环的不正确描述是______。
A) do-while的循环体至少执行一次B) do-while的循环体可以是复合语句C) 在do-while循环体中,一定要有能使while后面表达式的值变为零("假")的操作D) do-while循环由do开始,用while结束,在while(表达式)后面不能写分号9. 以下程序执行后sum的值是______。
C语言程序设计试卷含答案

C语言程序设计试卷含答案一、选择题(共20题,每题2分,共40分。
下面每题后面用小括号内标注了正确答案)1. 下列关键字中,用于定义变量的是(A)A. intB. ifC. whileD. for2. 变量的作用域是指变量的(C)A. 大小B. 类型C. 可访问范围D. 值3. 下列语句中,用于输出字符的是(B)A. scanfB. printfC. inputD. output4. 已知整型变量a和b,那么a += b; 等价于(D)A. a = a + b;B. a -= b;C. a = a - b;D. a = a + b;5. 在C语言中,用于表示“不等于”的运算符是(C)A. =B. ==C. !=D. >=6. 下面哪个for循环语句是正确的(A)A. for(int i=0; i<10; i++)B. for(int i<10; i++)C. for(int i=0; i<10)D. for(i=0; i<10; i++)7. 下列选项中,表示“或”运算符的是(D)A. &B. &&C. |D. ||8. 在C语言中,用于声明宏定义的关键字是(B)A. defineB. #defineC. constD. int9. 如果要判断一个整数是否为负数,正确的if条件语句是(C)A. if(n > 0)B. if(n => 0)C. if(n < 0)D. if(n <= 0)10. 下列哪个不是C语言的基本数据类型(D)A. intB. floatC. charD. string11. 下列关键字中,用于定义函数的是(C)A. mainB. includeC. voidD. for12. 在C语言中,表示“或者”的条件语句是(B)A. ifB. else ifC. switchD. while13. C语言中的“++”运算符表示(A)A. 自增B. 自减C. 相加D. 相减14. 下列哪个语句用于在C语言中声明字符类型的变量(C)A. String name;B. var name;C. char name;D. character name;15. 下列哪个不是C语言的关键字(D)A. enumB. longC. doubleD. true16. 在C语言中,用于跳出当前循环并继续执行下一次循环的关键字是(D)A. exitB. breakC. endD. continue17. 下列哪个函数用于从标准输入读取一个整数(A)A. scanfB. printfC. getsD. puts18. 在C语言中,用于声明一个指针变量的关键字是(A)A. int*B. pointC. newD. pointer19. 下列哪个运算符用于获取变量在内存中的地址(B)A. &B. *C. #D. %20. 下列哪个函数调用可以输出字符串(A)A. printf("Hello World!");B. scanf("Hello World!");C. gets("Hello World!");D. puts("Hello World!");二、填空题(共5题,每题4分,共20分。
2021-2022学年山东省日照市全国计算机等级考试C语言程序设计真题一卷(含答案)

2021-2022学年山东省日照市全国计算机等级考试C语言程序设计真题一卷(含答案)学校:________ 班级:________ 姓名:________ 考号:________一、单选题(12题)1.有以下程序main(){int i;for(i=0;i<3;i++)switch(i){case1:printf("%d",i);case2:printf("%d",i);default:printf("%d",i);}}执行后输出的结果是A.11122B.12C.12020D.1202.3.4.采用折半查找法查找长度为n的线性表时,每个元素的平均查找长度为()。
A.O(n2)B.O(nlog2n)C.O(n)D.O(log2n)5. 以下程序输出的结果是#include<stdio.h>#include<string.h>main(){ char w[][10]={"ABCD","EFGH","IJKL","MNOP"},k;for(k=1;k<3;k++)printf("%s\n",&w[k][k]);}A.ABCD FGH KLB.ABC EFG U MC.EFG JK OD.FGH KL6.若以下选项中的变量全部为整型变量,且已正确定义并赋值,则语法正确的switch语句是()。
A.switch(a+9) {case cl:y=a-b;case c2:y=a+b;}B.switch a*b {case l0:x=a+b;default:y=a-b;}C.switch(a+b) {casel:case3:y=a+b;break;case0:case4:y=a-b;}D.switch(a*a+b*b) {default:break;case 3:y=a+b;break;case 2:y=a-b;break;}7. 下面函数的功能是( ) int funl(char*X) {char*y=X;whar(* y + + );return (y - x - 1);}A.求字符串的长度B.比较两个字符串的大小C.将字符串x复制到字符串y中D.将字符串x连接到字符串y后面8.有以下程序执行程序时,给变量X输入l0,程序的输出结果是( )。
2022-2023学年山东省德州市全国计算机等级考试C语言程序设计测试卷一(含答案)

2022-2023学年山东省德州市全国计算机等级考试C语言程序设计测试卷一(含答案) 学校:________ 班级:________ 姓名:________ 考号:________一、单选题(12题)1.非线性结构是数据元素之间存在一种()。
A.一对多关系B.多对多关系C.多对一关系D.一对一关系2.以下叙述中正确的是()。
A.结构体变量中的成员可以是简单变量、数组或指针变量B.不同结构体的成员名不能相同C.结构体定义时,其成员的数据类型可以是本结构体类型D.结构体定义时,类型不同的成员项之间可以用逗号隔开3.在长度为n的顺序表的第i个位置上插入一个元素(1≤i≤n+1),元素的移动次数为:()。
A.n–i+1B.n–iC.iD.i–14.以下选项中合法的C语言常量是()。
A.‘C-STR’B.2014.1C.”\1.0D.2EK5.下列说法中错误的是A.A.只能在循环体内使用break语句B.在循环体内使用break语句可以使流程跳出本层循环体,从而提前结束本层循环C.在while和do…while循环中,continue语句并没有使整个循环终止D.continue的作用是结束本次循环,即跳过本次循环体中余下尚未执行的语句,接着再一次进行循环判断6.有下列程序:main{ char s[]="abcde";s+=2:printf("%d\n",s[0]);}执行后的结果是( )。
A.输出字符a的ASCII码B.输出字符c的ASCII码C.输出字符cD.程序出错7.定义学生选修课程的关系模式如下:SC(S#,Sn,C#,Cn,G,Cr)(其属性分别为学号、姓名、课程号、课程名、成绩、学分)则对主属性部分依赖的是()。
A.C#→CnB.(S#,C#)→GC.(S#,C#)→S#D.(S#,C#)→C#8.若i、j已定义成mt型,则下列程序段中内循环体的总执行次数是( )。
2022年山东建筑大学公共课《C语言》科目期末试卷A(有答案)

2022年山东建筑大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、请读程序段:int x=1;printf("%d\n",~x);上面程序段的输出结果是_______。
2、在C语言源程序中,一个变量代表【】。
3、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是4、C语言中的标识符可分为关键字、_______和_______3类。
5、运算符%两侧运算量的数据类型必须都是_______;运算符++和一一的运算量必须是_______。
6、下面程序可求出图中方括号内的元素之积,请填空。
# include<stdio.h>int main(){ int x[3][3]={7,2,1,3,4,8,9,2,6};int s,*p;p=_______;s=*p*_______;printf("product=%d",s);return(0);}7、下面add函数的功能是求两个参数的和,并将和值返回调用函数。
函数中错误的部分是_______,改正后为_______。
void add(float a,float b){float c;c=a+b;return c;}8、若有以下定义和语句,为使变量c1得到字符’A',变量c2得到字符’B’,正确的输入形式是_______。
char cl,c2;scanf("%4c%4c",&cl,8&c2);9、为建立如图10-5所示的存储结构(即每个结点两个域,data是数据域,next是指向结点的指针域),请将定义补充完整。
struct s{char data;_______}node;10、设有如下定义:#define SWAP(T,X,Y){T=X;X=Y;Y=T;}以下程序段将通过调用宏实现变量x和y内容的交换,请填空。
Double x=2.5,y=6.4,z;SWAP(_______);二、选择题11、已知各变量的类型说明如下:inti=8,k,a,b;unsigned long w=5;double x=1.42,y=5.2;则以下正确的表达式是( )。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言程序设计试题(第1套)一.单项选择题(30分,每题2分)1.用C语言编写的代码程序______。
A、可立即执行B、是一个源程序C、经过编译即可执行D、经过编译解释才能执行2. C语言中用于结构化程序设计的三种基本结构是______。
A、顺序结构、选择结构、循环结构B、if、switch、breakC、for、while、do-whileD、if、for、continue3. 以下选项中合法的实型常数是______。
A、B、E-3 C、.2E0 D、4. 假定x和y为double型,则表达式x=2,y=x+3/2的值是______。
A、B、3 C、D、5. ch是字符型变量,下面不正确的赋值语句是______。
A、ch = 65;B、ch="a";C、ch ='\ n';D、ch= 9+ '0';6. 下列有关C语言程序书写格式的说法哪个是错误的A、C程序的书写格式比较自由,一个语句可以占多行,一行也可以有多个语句。
B、C语句必须要有分号。
C、C语言程序的标识符必须使用小写字母。
D、用{ } 括起来的部分,通常表示了程序的某一层次结构,称为块。
7.下面程序段所表示的数学函数关系是______。
x= -1;if (a!=0)if (a>0) x=1;else x=0;-1 (a<0) 1 (a<0)A、x= 0 (a=0)B、x= -1 (a=0)1 (a>0) 0 (a>0)0 (a<0) -1 (a<0)C、x= -1 (a=0)D、x= 1 (a=0)1 (a>0) 0 (a>0)8. 以下关于do-while循环的不正确描述是______。
A) do-while的循环体至少执行一次B) do-while的循环体可以是复合语句C) 在do-while循环体中,一定要有能使while后面表达式的值变为零("假")的操作D) do-while循环由do开始,用while结束,在while(表达式)后面不能写分号9. 以下程序执行后sum的值是______。
A) 15 B) 14 C) 不确定 D) 0main(){ int i , sum=0;for(i=1;i<6;i++) sum+=i;printf("%d\n",sum);}10.若有说明语句:int a[][3]={1,2,3,4,5,6}; 则a数组第一维的大小是。
A. 1B. 2C.3D. 无确定值11. C语言允许函数值类型的缺省定义,此时该函数值隐含的类型是______。
A、float型B、long型C、int型D、double型12.下面正确的函数定义形式为A、double fun(int x;int y)B、double fun(int x,int y);C、double fun(int x,y)D、double fun(int x,int y)13.以下程序运行后,输出结果是______。
#define ADD(x) x+xmain( ){ int m=1, n=2, s=3;s=S+ADD(m+n);printf("s=%d\n", s);}A 、s=8B 、s=9C 、s=6D 、s=1814. 若有定义:int x , *p ; 则以下正确的赋值表达式是A 、p=&xB 、 p=xC 、*p=&xD 、 p =*x 15.以下变量a,b,c 均为double 型且已正确赋值,不能正确地表示数学式子c b a ⨯⨯2的C 语言表达式是A 、2*(1/(a*b*c))B 、 2/a*b*cC 、 2/a*1/b*1/cD 、 2/a/b/c二. 程序填空题(20分,每空2分)1. 以下程序的功能是:输入三个整数n1、n2、n3,将最大的数输出。
请填空。
main( ){ int n1, n2, n3, temp;scanf("%d%d%d", &n1, &n2, &n3);if (n2<n3){ temp=n2; n2=n3; n3=temp; }if (n1<n2){ temp=n1; ① ; ② ; }printf("%d\n", n1);}2. 编写打印整数1~10的平方的函数。
请填空。
main ( ){ int i ;for ( i=1; i ③ ; i+ +)printf (“%d \n”, square( i));}square ( int n){return ( ④ );}3.求数组所有元素累加和。
请填空。
main(){int sum,i,j,k,a[2][2][2]={1,2,3,4,5,6,7,8};sum= ⑤ ;for(i=0;i<2;i++)for(j=0;j<2;j++)for(k=0;k<2;k++)sum= ⑥ ;printf("%d",sum);}4.以下程序的功能是调用函数fun 计算:m= 1-2+3-4+…+9-10,并输出结果。
请填空。
int fun (int n ){int m=0, f=1, i;for (i=1; i<=n; i+ +){ m+= ⑦ ;f= ⑧ ;}return m;}main ( ){printf (“ m=%d \n”, fun (10 ) ) ;}5.将以下含有switch 语句的程序段改写成对应的含有嵌套if 语句的程序段,请填空。
含有switch 语句的程序段:int s, t, m;t=(int)(s/10);switch( t ){case 10: m=5; break;case 9: m=4; break;case 8: m=3; break;case 7: m=2; break;case 6: m=1; break;default: m=0;}含有嵌套if语句的程序段:int s, m;if (s<60||s>110) m=0;else if (s<70) m=1;else if (s<80) m=2;else if (s<90) m=3;else if (s<100) ⑨;else ⑩;三.程序运行结果题(20分,每题4分)阅读下列各程序,将程序编译、运行输出的结果写在题目右边。
1. 写出程序运行的结果:main ( ){int a=2,b=3;float x=,y=,p;p=(float)(a+b)/2+(int)x%(int)y;printf("p=%f\n", p);}2. 写出程序运行的结果:main ( ){int i,j;i=3;j=6;printf("%d,%d\n", i++,j--);printf("%d,%d\n", ++ i,-- j);}3. 写出程序运行的结果:main(){ int number=0;while(number<=1){ pr intf(“*%d,”,number);number++;}printf(“**%d\n”,number);}4. 写出程序运行的结果:main(){char s[]="abcdefg";int i;for(i=1;i<7;i+=2)printf("%c",s[i]);}5.写出程序运行的结果:int ast ( int x , int y , int *cp , int * dp ){ *cp = x+y ; *dp = x-y ; }main(){ int a=4 , b=3 , c , d ;ast( a , b , &c ,&d ) ;printf("%d%d\n" , c , d ) ;}四.程序设计题(30分,每题10分)认真阅读题目,按要求编写完整的C语言程序。
参考知识:C语言数的范围:int型和short型为-32768~32767,long型为-48~47,单精度实数为×10-38~×1038(7位有效数字),双精度实数为×10-308~×10308(15位有效数字),长双精度实数为×10-4932~×104932(18位有效数字)。
1.输入一个华氏温度f,然后计算,最后输出对应的摄氏温度c。
换算公式为:C=5*(F-32)/9要求输出保留2位小数。
2.已知x (x<1)y= 2x-1 (1<=x<10)3x-11 (x>=10)用scanf函数输入x的值,求y值。
3.编写一个循环结构的程序,求1!+2!+3!+4!+5!+6!+7!+8!+9!+10!的值。
本套题的参考答案:一.单项选择题(30分,每题2分)1B 6C 11C2A 7C 12D3C 8D 13B4D 9A 14A5B 10B15B二.程序填空题(20分,每空2分)①n1=n2 ②n2=temp ③<=10 ④n * n ⑤0⑥sum+a[i][j][k] ⑦i*f ⑧-f ⑨m=4 ⑩m=5三.程序阅读题(20分,每题4分)1 p=2 3,63 *0,*1,**24 bdf5 715,4四.1. 本题10分。
main(){ float c,f;printf("Input F=");scanf("%f",&f);c=5*(f-32) /9;printf("C=%.2f\n",c);}2.本题10分。
main(){ float x,y;scanf("%f",&x);if(x<1) y=x;else if(x>=10) y=3*x-11;else y=2*x-1;printf("%f\n", y);}3.本题10分。
main(){ int i;long t=1;long s=0;for(i=1;i<=10;i++){ t=t*i;s+=t;}printf("1!+2!+3!+4!+5!+6!+7!+8!+9!+10!=%ld", s);}。