C语言 程序设计基础试题六及答案

合集下载

C语言程序设计试题及参考答案

C语言程序设计试题及参考答案

C语言程序设计试题及参考答案精心整理c语言程序设计一、选择题(共40分,每小题2分)1、以下叙述不正确的是(d)a、一个c源程序可以由一个或多个函数共同组成b、一个c源程序必须涵盖一个main函数c、c程序的基本共同组成单位就是函数d、在c程序中,注释说明只能位于一条语句的后面2、以下四个选项中,就是不合法的用户标识符的选项就是(b)a、abcb、12acc、sund、a3、建有语句inta=4;则继续执行了语句a+=a-=a*a后,变量a的值就是(a)a、-24b、0c、4d、164、以下运算符中优先级最低的就是(b)a、a、inputx、y、z;b、scanf(“%d%d%d”,&x,&y,&z);c、scanf(“%d%d%d”,x,y,z);d、read(“%d%d%d”,&x,&y,&z);9、假定从键盘输入23456,下面程序的输出结果是:(c)voidmain(){intm,n;scanf(“-=”,&m,&n);printf(“m=%dn=%d\\n”,m,n);}a、m=23n=45b、m=234n=56c、m=23n=456d、语句有错误10、若运转时,给变量x输出12,则以下程序的运转结果就是(a)main(){intx,y;scanf(“%d”,&x);y=x>12?x+10:x-12;printf(“%d\\n”,y);}精心整理a、0b、22c、12d、1011、c语言中while和do-while循环的主要区别(a)a、do-while的循环体至少继续执行一次b、while的循环控制条件比do-while的循环控制条件严格c、do-while允许从外部转到循环体内d、do-while的循环体不能是复合语句12、以下对二维数组的恰当表明的语句就是(c)a、inta[3][]b、floata(3,4)c、doublea[3][4]d、floata(3)(4)13、以下程序的输出结果是(c)main(){inti,x[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;i<3;i++)printf(“%d”,x[i][2-i]);}a、1,5,9b、1,4,7c、3,5,7d、3,6,914、以下能对一维数组a进行正确初始化的语句是(c)a、inta[10]=(0,0,0,0,0);b、inta[10]={};c、inta[10]={0};d、inta[10]={10*1};15、以下程序执行后的输出结果是:(a)intfun(inta,intb,intc){a=456;b=567;c=678;}voidmain(){intx=10,y=20,z=30;z=fun(x,y,z);printf(“%d,%d,%d\\n”,z,y,x);}a、30,20,10b、10,20,30c、10,30,50d、10,30,4016、以下说法正确的是(a)如果在一个函数中的复合语句中定义了一个变量,则该变量a、只在该复合语句中有效b、在该函数中有效c、在本程序范围内有效d、为非法变量17、以下函数调用语句中含有的实参个数为(b)func((exp1,exp2,exp3),(exp4,exp5));a、1b、2c、4d、518、在c语言程序中,以下观点恰当的就是(b)。

2024年9月GESP编程能力认证C++等级考试六级真题(含答案)

2024年9月GESP编程能力认证C++等级考试六级真题(含答案)

2024年9月GESP编程能力认证C++等级考试六级真题(含答案)一、单选题(每题2分,共30分)。

1.以下()没有涉及C++语言的面向对象特性支持。

A. C++中构造一个class或structB. C++中调用printf函数C. C++中调用用户定义的类成员函数D. C++中构造来源于同一基类的多个派生类2.关于以下C++代码,()行代码会引起编译错误。

#include <iostream>using namespace std;class Base{private:int a;protected:int b;public:int c;Base(): a(1), b(2), c(3){}};class Derived : public Base{public:void show(){cout << a << endl;// Line 1cout << b << endl;// Line 2cout << c << endl;// Line 3}};A. Line 1B. Line 2C. Line 3D. 没有编译错误3.有6个元素,按照6,5,4,3,2,1的顺序进入栈S,下列()的出栈序列是不能出现的()。

4.采用如下代码实现检查输入的字符串括号是否匹配,横线上应填入的代码为()。

5.下面代码判断队列的第一个元素是否等于,并删除该元素,横向上应填写()。

#include <iostream>#include <queue>using namespace std;bool is_front_equal(std::queue<int>& q, int a){bool is_equal =false;if(!q.empty()){________________________ // 在此处填入代码。

c语言《程序设计基础》课后习题参考答案与解析

c语言《程序设计基础》课后习题参考答案与解析

c语言《程序设计基础》课后习题参考答案与解析《程序设计基础》习题参考答案与部分解析第1章 C 语言概述一、填空a) C源程序的基本单位是函数。

b) 一个C程序中至少应包括一个 main函数。

c) 在C语言中,输出操作是有库函数 printf( )函数完成。

二、单选题1、A2、C3、B解析:第1题答案:A 。

因为一个C程序总是从main函数开始执行的,而不论main函数在程序中的位置。

且到main函数结束。

第2题答案:C 。

因为 main函数没有限制必须位于程序的最前面。

C程序书写自由,一行内可写几个语句。

在对一个C 程序进行编译的过程中,无法检查注释当中的拼写错误。

不过C语言本身并没有输入输出语句,输入输出是由函数完成的。

第3题答案:B。

因为一个C语言程序是由若干个函数组成的。

但至少包含一个main 函数,且main函数的位置不限。

三、编程题1、编写一个输出“Welcome to C!”信息的小程序。

解:程序如下#include “stdio.h”main( ){1printf(“Welcome to C!”) ;}2、已知三角形的三边长分别为3,4,5,试用海轮公式编程求其面积。

海伦公式为:S?= ,其中s= (a+b+s)/2 ;解:程序如下#include “math.h”#include “stdio.h”main( ){int a , b , c ; /* a ,b,c 3个整型变量表示三角形的3条边。

*/float s ,s1 ; /* s1作为面积变量,s 作为中间变量是都应该是实形*/a=3 ; b= 4; c=5 ;s= (a+b+c)/2.0 ;s1= sqrt(s*(s-a)*(s-b)*(s-c)); /* sqrt函数完成开平方根功能。

*/printf(“area=%f\n”,s1);}2第2章程序设计基础知识一、单选题1、C2、A3、C4、A5、C6、C7、D8、C9、D 10、A 11、D 12、A 13、C 14、C 15、B A 16、B 17 D解析:1. 答案:C。

电子学会青少年软件编程(C语言六级)等级考试真题试卷(2022年3月)-附答案

电子学会青少年软件编程(C语言六级)等级考试真题试卷(2022年3月)-附答案
第 2 题
问答题 扩号匹配问题 在某个字符串(长度不超过 100)中有左括号、 右括号和大小写字母;规定(与常见的算数式子一样) 任何 一个左括号都从内到外与在它右边且距离最近的右括号匹配。 写一个程序, 找到无法匹配的左括号和右括 号, 输出原来字符串, 并在下一行标出不能匹配的括号。 不能匹配的左括号用"$"标注,不能匹配的右括号 用"?"标注. 时间限制: 3000 内存限制: 65536 输入 输入包括多组数据, 每组数据一行, 包含一个字符串, 只包含左右括号和大小写字母, 字符串长度不超过 100 输出 对每组输出数据, 输出两行, 第一行包含原始输入字符, 第二行由"$","?"和空格组成, "$"和"?"表示与之对 应的左括号和右括号不能匹 配。
提示 第一组样例数据的第二行末尾的 8 -8, 因为幂次-8 为负数, 所以这一行数据结束, 8 -8 不要参与计算。
答案
#include <iostream> #include <vector> #include <map> using namespace std;
博学佑航-青少年考级竞赛题库
int main () { int n; cin >> n; for (int i = 0; i != n; ++i) { map <int, int> ploy; int index, value, over = 0; while (cin >> value >> index) { if (index < 0) over++; else { pair <map <int, int>::iterator, bool> ret = ploy.insert(make_pair(index, value)); if (!ret.second) ret.first -> second += value; } if (over == 2) break; } for (map <int, int>::reverse_iterator riter = ploy.rbegin(); riter != ploy.rend(); ++riter) { if (riter -> second != 0) cout << "[ " << riter -> seco

C语言程序设计基础试题及答案

C语言程序设计基础试题及答案

第一局部C语言根底一、选择题1.以下正确的C语言标识符是〔〕A.%X B.a+b C.a123 D.test!2.已定义int a,b;那么以下不正确的C语句是〔〕A.a*=5; B.b/=2; C.a+=1.75; D.b&&=a;3.假设x、i、j和k都是整型变量,那么执行下面表达式后x的值为〔〕x=(i=4,j=16,k=32)A.4 B.16 C.32 D.524.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符〔〕A.必须是字母B.必须为下划线C.必须为字母或下划线D.可以是字母、数字、下划线中的任一字符5.下面正确的字符常量是〔〕A.“c〞 B.’\\〞C.‘w’D.〞6.设int a=2,b=0,c;那么执行语句c+=b&&a--后, c的结果为〔〕。

A.0,1 B.1,0 C.2,0 D.不确定7. 以下不正确的C语言标识符是( )A) intB) a_1_2C) ab1exeD) _x8.以下是正确的C语言标识符是( )。

A) #defineB) _123C) %dD) \n9.以下四组字符串中都可以用作C语言程序标识符的一组是( ) 。

A)print B) i\am C) Pxq D) str_l_3d one_half My->book Cpp••• oodbs tart$it line# pow10.下面各选项组中,均是C语言关键字的组是( ) 。

A) auto,enum,includeB) switch,typedef,continueC) signed,union,scanfD) if,struct,type11.以下不属于C语言关键字的是( ) 。

A) defaultB) registerC) enumD) external12.C语言程序从main()函数开始执行,所以这个函数要写在( )。

A) 程序文件的开始B) 程序文件的最后C) 它所调用的函数的前面D) 程序文件的任何位置13.以下关于C语言的表达错误的选项是( )A) 大写字母和小写字母的意义相同B) 不同类型的变量可以在一个表达式中C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型D) 同一个运算符号在不同的场合可以有不同的含义14.在C语言中,错误的int类型的常数是( ) 。

2024年3月青少年软件编程C语言等级考试试卷六级真题

2024年3月青少年软件编程C语言等级考试试卷六级真题

2024年3月青少年软件编程C语言等级考试试卷六级真题分数:100题数:4一、编程题(共4题,共100分)1.小白鼠再排队N只小白鼠(1<N<100),每只鼠头上戴着一顶有颜色的帽子。

现在称出每只白鼠的重量,要求按照白鼠重量从小到大的顺序输出它们头上帽子的颜色。

帽子的颜色用“red”,“blue”等字符串来表示。

不同的小白鼠可以戴相同颜色的帽子。

白鼠的重量用整数表示。

时间限制:1000内存限制:65536输入输入第一行为一个整数N,表示小白鼠的数目。

下面有N行,每行是一只白鼠的信息。

第一个为正整数,表示白鼠的重量,不超过整型范围;第二个为字符串,表示白鼠的帽子颜色,字符串长度不超过10个字符。

注意:白鼠的重量各不相同。

输出按照白鼠的重量从小到大的顺序输出白鼠的帽子颜色。

样例输入样例输出试题编号:20240323-6-01试题类型:编程题标准答案:试题难度:一般试题解析:展示地址:点击浏览考生答案:#include<bits/stdc++.h>using namespace std;struct shu{int n;string s;}a[100010];bool cmp(shu a,shu b){return a.n<b.n;}int main(){int N;cin>>N;for(int i=0;i<N;i++){cin>>a[i].n>>a[i].s;}sort(a,a+N,cmp);for(int i=0;i<N;i++){cout<<a[i].s<<endl;}}考生得分:25是否评分:已评分评价描述:2.扩号匹配问题在某个字符串(长度不超过100)中有左括号、右括号和大小写字母;规定(与常见的算数式子一样)任何一个左括号都从内到外与在它右边且距离最近的右括号匹配。

写一个程序,找到无法匹配的左括号和右括号,输出原来字符串,并在下一行标出不能匹配的括号。

程序设计基础(C语言)习题以及答案

程序设计基础(C语言)习题以及答案

其身正,不令而行;其身不正,虽令不从。

——《论语》一、选择题1.下列属于C语言中合法的标识符的是( B )A 、ex-1B 、-cookC 、951aD 、if2.若 x 为 float 型变量,则以下语句(A )。

x=213.82631;printf("%-4.2f\n",x);A、输出为213.83B、输出格式描述符的域宽不够,不能输出C、输出为213.82D、输出为-213.823.一个C程序的执行是从(C )A、main函数开始,直到最后一个函数结束B、第一个函数开始,直到最后一个函数结束C、main函数开始,直到main函数结束D、第一条语句开始,直到最后一条语句结4.构成C语言源程序的基本单位是(B )A、过程B、函数C、子程序D、命令5.以下叙述不正确的是(D )A、注释说明被计算机编译系统忽略B、注释说明必须跟在“//”之后不能换行或者括在“/*”和“*/”之间且注释符必须配对使用C、注释符“/”和“*”之间不能有空格D、在C程序中,注释说明只能位于一条语句的后面6.在C程序中,main函数的位置( A)A、可以任意B、必须作为最后一个函数C、必须作为第一个函数D、必须放在它所调用的函数之后7. C语言属于(C )A、机器语言B、汇编语言C、高级语言D、低级语言云路鹏程九万里,雪窗萤火二十年。

——《王实甫》人之为学,不日进则日退,独学无友,则孤陋而难成;久处一方,则习染而不自觉。

——《顾炎武》8.使用“scanf("a=%d,b=%d",&a,&b)”,要使a,b的值均为25,正确的输入是(D )。

A、a=25 b=25(空格分开)B、25 25(空格分开)C、25,25D、a=25,b=259. 下列叙述中,不正确的是( C)A、分号是C语句的必要组成部分B、C语句的注释可以写在语句的后面C、主函数的名字不一定用main表示D、函数是C程序的基本单位10.C程序是由( B)构成的A、若干过程B、一个或多个函数C、若干子程序D、一个主程序与若干子程序11. 以下程序的输出结果是(B )。

c语言程序设计基础试题及答案

c语言程序设计基础试题及答案

c语言程序设计基础试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项是C语言中的合法整数?A. 0x10B. 0X1GC. 08D. 0L答案:A3. 在C语言中,用于定义一个函数的关键字是?A. defineB. functionC. defD. void答案:B4. C语言中,以下哪个是正确的字符串定义?A. char str[] = "Hello";B. char str[] = {"Hello"};C. char str = "Hello";D. char str[] = 'Hello';答案:A5. 在C语言中,以下哪个运算符用于求余?A. %B. /C. //D. %答案:A二、填空题(每题3分,共15分)1. 在C语言中,定义一个整型变量的关键字是________。

答案:int2. 如果一个函数没有返回值,应该使用________关键字声明。

答案:void3. 在C语言中,________运算符用于连接字符串。

答案:+4. C语言中,________运算符用于比较两个值是否相等。

答案:==5. 在C语言中,________关键字用于定义一个指针变量。

答案:*三、简答题(每题5分,共20分)1. 简述C语言中数组和指针的关系。

答案:在C语言中,数组名可以被当作指向数组第一个元素的指针。

数组的每个元素可以通过指针运算来访问。

2. 解释C语言中函数原型声明的作用。

答案:函数原型声明提供了函数的名称、返回类型和参数类型,但不需要函数体。

它允许在函数定义之前调用函数,同时帮助编译器检查函数调用的正确性。

3. 什么是C语言中的预处理指令,举例说明。

答案:预处理指令是C语言中的特殊命令,用于在编译之前处理源代码。

C程序设计题库(含答案)

C程序设计题库(含答案)
A、定义该变量的程序文件中的函数都可以访问。
B、定义该变量的函数中的定义处以下的任何语句都可以访问。
C、定义该变量的复合语句的定义处以下的任何语句都可以访问。
D、局部变量可用于函数之间传递数据。
答案:D
17.若变量已正确说明为float类型,要通过语句scanf("%f %f %f ",&a,&b,&c);给a赋于10.0,b赋予22.0,c赋予33.0,不正确的输入形式是:()
C程序设计题库
一、单项选择题
1. 基础知识
1、以下说法中正确的是()
A、C语言程序总是从第一个的函数开始执行
B、在C语言程序中,要调用的函数必须在main()函数中定义
C、C语言程序总是从main()函数开始执行
D、C语言程序中的main()函数必须放在程序的开始部分
答案:C
2、下列字符序列中,可用作C标识符的一组字符序列是()。
A) 10<回车>B) 10.0,22.0,33.0<回车>
22<回车>
33<回车>
C) 10.0<回车> D) 10 22<回车>
22.0 33.0<回车> 33<回车>
答案:B
2.三大结构
(1)下列程序的运行结果是()
#include <stdio.h>
void main()
{
char c1 = '6', c2 = '0';
if( b < 0) c = 0;
else c = c + 1;
printf("%d\n",c);

(完整版)C语言程序设计习题集及答案

(完整版)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语言试题及答案

程序设计基础c语言试题及答案

程序设计基础c语言试题及答案一、选择题(每题2分,共20分)1. C语言中,用于表示逻辑“与”的运算符是:A. &&B. ||C. &D. |答案:A2. 下列哪个选项不是C语言中的关键字?A. intB. floatC. longD. double答案:D3. 在C语言中,下列哪个函数用于将字符串连接起来?A. strcat()B. strcmp()C. strcpy()D. strlen()答案:A4. C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A5. 下列哪个选项是C语言中的合法变量名?A. 2nd_nameB. intC. _nameD. name$答案:C6. C语言中,用于定义一个指针的语法是:A. int *p;B. int *p = 0;C. int p*;D. int *p = 1;答案:A7. 在C语言中,下列哪个选项是正确的函数声明?A. int function(int a, int b);B. int function(int, int);C. int function(int a; int b);D. int function(int, int a, b);答案:A8. C语言中,用于表示逻辑“非”的运算符是:A. !B. ~C. &&D. ||答案:A9. 下列哪个选项是C语言中的合法常量?A. 1.23B. 0x1AC. 0123D. All of the above答案:D10. 在C语言中,下列哪个选项是正确的数组声明?A. int arr[5] = {1, 2, 3};B. int arr[5] = {1, 2, 3, 4, 5, 6};C. int arr[] = {1, 2, 3};D. int arr[5];答案:C二、填空题(每题2分,共20分)1. C语言中,用于输入的函数是________。

c语言程序与设计基础知识试题及答案

c语言程序与设计基础知识试题及答案

c语言程序与设计基础知识试题及答案一、单项选择题(每题2分,共20分)1. C语言中,用于定义结构体的关键字是:A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项是C语言中的合法整型常量?A. 0x12B. 0123C. 0.12ED. 12e答案:A3. 在C语言中,用于定义数组的关键字是:A. arrayB. listC. vectorD. none of the above答案:D4. 下列哪个函数用于将字符串转换为浮点数?A. atoiB. atofC. itoaD. sprintf答案:B5. C语言中,用于文件操作的库函数是:A. stdio.hB. string.hC. math.hD. stdlib.h答案:A6. 下列关于指针的描述,错误的是:A. 指针可以存储变量的地址B. 指针可以存储一个值C. 指针可以作为函数的参数D. 指针可以作为函数的返回值答案:B7. 在C语言中,用于定义函数的关键字是:A. functionB. defineC. defD. void答案:D8. 下列哪个选项不是C语言中的控制结构?A. if-elseB. switch-caseC. forD. goto答案:D9. 下列哪个选项是C语言中的合法变量名?A. 2variableB. variable2C. variable_2D. all of the above答案:D10. C语言中,用于定义枚举类型的关键字是:A. enumB. typedefC. structD. union答案:A二、填空题(每题2分,共10分)1. C语言中,用于定义一个名为“person”的结构体,包含姓名和年龄两个成员,正确的定义方式是:struct person { char name[50];int age; }。

答案:正确2. 在C语言中,使用________函数可以输出格式化的字符串到控制台。

程序设计基础试题及答案

程序设计基础试题及答案

程序设计基础试题及答案一、选择题1. 在C语言中,以下哪个是字面常量?A. intB. 5C. xD. if答案:B. 52. 下列语句中,哪个是正确的函数声明?A. int sum(int a, b);B. int sum(int a, int b) {}C. sum(int a, int b) {}D. int sum(int a, int b);答案:D. int sum(int a, int b);3. 下列哪个不是常用的数据类型?A. intB. stringC. floatD. char答案:B. string4. 在C语言中,以下哪个符号用于表示逻辑与操作?A. &&B. ||C. !D. =答案:A. &&5. 在C语言中,以下哪个用于引入标准输入输出函数的头文件?A. <stdio.h>B. <math.h>C. <stdlib.h>D. <string.h>答案:A. <stdio.h>二、填空题1. 下面的程序运行结果是什么?```c#include <stdio.h>int main() {int a = 5, b = 3;if (a > b) {printf("a大于b");} else {printf("a小于等于b");}return 0;}```答案:a大于b2. 下列代码中,缺少的表达式是什么?```c#include <stdio.h>int main() {int i;for (i = 0; i < ; i++) {printf("%d ", i);}return 0;}```答案:缺少循环条件表达式,例如 i < 10。

3. 下面的程序运行结果是什么?```c#include <stdio.h>int main() {int i;for (i = 10; i > 0; i--) {if (i % 2 == 0) {continue;}printf("%d ", i);}return 0;}```答案:9 7 5 3 14. 下列代码中,___ 处应该填入什么运算符?```c#include <stdio.h>int main() {int a = 5, b = 3;int c = a ___ b;printf("%d", c);return 0;}```答案:+,结果为 8。

2023年9月GESP编程能力认证C++等级考试六级真题(含答案)

2023年9月GESP编程能力认证C++等级考试六级真题(含答案)

2023年9月GESP编程能力认证C++等级考试六级真题(含答案)一、单选题(每题2分,共30分)。

1.近年来,线上授.课变得普遍,很多有助于改善教学效果的设备也逐渐流行,其中包括比较常用的手写板,那么它属于哪类设备?()。

A. 输入B. 输出C. 控制D. 记录正确答案:A。

2.如果a和b均为int类型的变量,且b的值不为0,那么下列能正确判断“ a 是b的3倍”的表达式是()。

A. (a >> 3 == b)B. (a - b)% 3 == 0C. (a / b == 3)D. (a == 3 * b)正确答案:D。

3.以下不属于面向对象程序设计语言的是()。

A. C++B. PythonC. JavaD. C正确答案:D。

4.下面有关C++类定义的说法,错误的是()。

A. C++类实例化时,会执行构造函数。

B. C++自定义类可以通过定义构造函数实现自动类型转换。

C. C++自定义类可以通过重载 > 、 < 等运算符实现大小比较。

D. C++自定义类可以包含任意类型的成员。

正确答案:D。

5.有关下面C++代码的说法,错误的是()。

A. 代码cout << st << endl; 不会报错,将正常输出ABC。

B. 第6行代码的data是MyStr类的成员变量。

C. 代码MyStr st("ABC"); 不会报错,将执行构造函数。

D. 以上说法均没有错误。

正确答案:A。

6.下列关于命名空间的说法错误的是()。

A. 命名空间可以嵌套, 例如namespace A{ namespace B{ int i;}}。

B. 命名空间只可以在全局定义。

C. 命名空间中可以存放变量和函数。

D. 如果程序中使用了using命令同时引用了多个命名空间,并且命名空间中存在相同的函数,会出现程序运行错误。

正确答案:D。

7.有关下面C++代码的说法,正确的是()。

电子学会青少年软件编程(C语言六级)等级考试真题试卷(2021年9月)-附答案

电子学会青少年软件编程(C语言六级)等级考试真题试卷(2021年9月)-附答案

青少年软件编程(C语言六级)等级考试真题试卷(2021年9月)
题目总数:4 总分数:100 时间:不限时
第 1 题问答题
双端队列
定义一个双端队列,进队操作与普通队列一样,从队尾进入。

出队操作既可以从队头,也可以从队尾。

编程实现这个数据结构。

时间限制:1000
内存限制:65535
输入
第一行输入一个整数t,代表测试数据的组数。

每组数据的第一行输入一个整数n,表示操作的次数。

接着输入n行,每行对应一个操作,首先输入一个整数type。

当type=1,进队操作,接着输入一个整数x,表示进入队列的元素。

当type=2,出队操作,接着输入一个整数c,c=0代表从队头出队,c=1代表从队尾出队。

n <= 1000
输出
对于每组测试数据,输出执行完所有的操作后队列中剩余的元素,元素之间用空格隔开,按队头到队尾的顺序输出,占一行。

如果队列中已经没有任何的元素,输出NULL。

样例输入
2
5
1 2
1 3
1 4
2 0
2 1
6
1 1
1 2
1 3
2 0
2 1
2 0
样例输出
3
NULL。

C语言程序设计基础测试题-答案

C语言程序设计基础测试题-答案

C语言程序设计基础测试题一、单选[1] 下面叙述中错误的是____。

A. 复合语句中定义的函数只在该复合语句中有效B. return( )语句中的括号中,可以是变量,常量或有确定值的表达式C. 形式参数也是局部变量D. 主函数中定义的变量在整个程序中都是有效的[2] 下列说法中正确的是____。

A.带参数的宏定义中的参数是没有类型的B.宏展开将占用程序的运行时间C.宏定义命令是C语言中的一种特殊语句D.使用#include命令包含的头文件必须以“.h"为后缀[3] 若函数的形参为一维数组,则下列说法中正确的是____。

A.调用函数时的对应实参必为数组名B.形参数组可以不指定大小C.形参数组的元素个数必须等于实参数组的元素个数D.形参数组的元素个数必须多于实参数组的元素个数[4] 系统的标准输出设备是____。

A.键盘B.硬盘C.内存D.显示器[5] 下面叙述中正确的是____。

A.全局变量在定义它的文件中的任何地方都是有效的B.全局变量在程序的全部执行过程中一直占用内存单元C. C语言的switch语句中case后可为常量或表达式或有确定值的变量及表达式D. 说明函数时必须明确其参数类型和返回类型[6] C程序的基本结构单位是____。

A.文件B.语句C.函数D.表达式[7] 对于定义,char *aa[2]={"abcd","ABCD"},选项中说法正确的是____。

A.aa数组元素的值分别是"abcd"和"ABCD"B.aa是指针变量,它指向含有两个数组元素的字符型一维数组C.aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址D.aa数组的两个元素中各自存放了字符'a'和'A'的地址[8] 任何一个C语言的可执行程序都是从____开始执行的。

A.程序中的第一个函数B.main( )函数的入口处C.程序中的第一条语句[9] 操作系统的作用是()。

C语言程序设计考试试题(附答案)

C语言程序设计考试试题(附答案)

C语言程序设计考试试题(附答案) C语言程序设计考试试题(附答案)一、选择题(共30题,每题2分,共60分)1. 下列哪个是C语言关键字?A. printB. variableC. whileD. calculate答案:C2. 在C语言中,下列哪个是合法的变量名?A. 1_helloB. _worldC. v-ariableD. continue答案:B3. 下列哪个是正确的C语言注释方式?A. // This is a commentB. # This is a commentC. /* This is a comment */D. <!-- This is a comment -->答案:C4. 下列哪个是正确的C语言函数定义格式?A. void addNumbers()B. addNumbers()C. function addNumbers()D. int addNumbers()答案:D5. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 5;int y = 2;float result = x / y;printf("%f", result);return 0;}```A. 2.5B. 2C. 2.000000D. 5答案:B6. 在C语言中,下列哪个是正确的if语句格式?A. if (x > 4) thenB. if (x > 4) { }C. if x > 4D. if (x > 4)答案:D7. 下列哪个是C语言中的逻辑运算符?A. ++B. &&C. %D. =答案:B8. 在C语言中,下列哪个是正确的for循环格式?A. for (x = 0; x < 5)B. for {x = 0; x < 5; x++}C. for (int x = 0; x < 5; x++)D. for (x = 0; x < 5;)答案:C9. 下列哪个是C语言中的自增运算符?A. ++B. +=C. =D. --答案:A10. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 2;x *= 3 + 4;printf("%d", x);return 0;}```A. 14B. 20C. 21D. 22答案:C11. 在C语言中,下列哪个是正确的switch语句格式?A. switch (x) {case 1;case 2;break;default;break;}B. switch (x) {case 1:case 2:break;default:break;}C. switch (x) case 1:case 2:break;default:break; D. switch (x) { case 1,case 2,break,default,break,}答案:B12. 下列哪个是C语言中的逗号运算符?A. &&B. !C. ,D. |答案:C13. 在C语言中,下列哪个是正确的数组声明?A. array[5]B. [5] arrayC. array[] = [5]D. int array[5]答案:D14. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int i;for (i = 0; i <= 5; i++){printf("%d ", i);if (i == 3)continue;}return 0;}```A. 0 1 2 3 4 5B. 0 1 2 3 4C. 0 1 2 3 4 5 6D. 0 1 2 4 5答案:A15. 下列哪个是C语言中的求余运算符?A. /B. +C. %D. *答案:C16. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 4;int y = 5;if (x > 2 || y < 10){printf("True");}else{printf("False");}return 0;}```A. TrueB. FalseC. x > 2 || y < 10D. 4 5答案:A17. 在C语言中,下列哪个是正确的do-while循环格式?A. do (x < 5)B. do {x < 5} whileC. do {x < 5} while (x++)D. do {x < 5;} while (x < 5)答案:D18. 下列哪个是C语言中的逻辑非运算符?A. !B. &&C. <D. =答案:A19. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int i;for (i = 1; i <= 10; i++){if (i % 2 == 0)continue;printf("%d ", i);}return 0;}```A. 1 2 3 4 5 6 7 8 9 10B. 1 3 5 7 9C. 2 4 6 8 10D. 1 2 4 8答案:B20. 下列哪个是C语言中的减法运算符?B. +C. -D. *答案:C21. 在C语言中,下列哪个是正确的数组初始化方式?A. int array[5] = {1, 2, 3}B. array[5] = {1, 2, 3}C. int array[] = {1, 2, 3}D. int array[5] = {1, 2, 3,}答案:C22. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 5;int y = 7;if (x > 2 && y < 10)printf("True");}else{printf("False");}return 0;}```A. TrueB. FalseC. x > 2 & y < 10D. x > 2 || y < 10答案:A23. 下列哪个是C语言中的除法运算符?A. /B. +C. %答案:A24. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 7;int y = (x > 5) ? 10 : 5;printf("%d", y);return 0;}```A. 7B. 5C. 10D. 15答案:C25. 在C语言中,下列哪个是正确的while循环格式?A. while (x < 5;)B. while {x < 5;}C. while (x < 5)D. while {x < 5}答案:C26. 下列哪个是C语言中的位运算符?A. ||B. &&C. !D. &答案:D27. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 2;int y = 3;if (x = y){printf("Equal");}else{printf("Not equal");}return 0;}```A. EqualB. Not equalC. 2D. 3答案:A28. 在C语言中,下列哪个是正确的goto语句格式?A. goto label;B. goto (label);C. gote labelD. go to label答案:A29. 下列哪个是C语言中的加法运算符?A. /B. +C. %D. *答案:B30. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 5;int y = 2;int result = x % y;printf("%d", result);return 0;}A. 2B. 1C. 3D. 0答案:B二、编程题31. 编写一个C语言程序,在屏幕上输出从1到100的所有偶数。

《C语言程序设计基础》习题集(含答案)

《C语言程序设计基础》习题集(含答案)

第一章C语言概述1.1、选择题(1)一个C语言程序是由()组成。

A. 一个主程序及若干个子程序B. 一个主程序C. 一个主函数及若干个子函数D. 一个主函数(2) 一个C语言程序总是从()开始执行。

A. 主过程B. 主函数C. 子程序D. 主程序(3) main函数在源程序中的位置()。

A. 必须在最开始B. 必须在子函数的后面C. 可以任意D. 必须在最后(4) 一个C程序的执行是从()。

A. 本程序的第一个函数开始,到最后一个函数结束B. 本程序的main函数开始,到最后一个函数结束C. 本程序的main函数开始,通常也在main函数结束D. 本程序的第一个函数开始,到main函数结束(5) 以下叙述不正确的是()。

A. 一个C程序可由一个或多个函数组成B. 一个C程序必须包含一个main函数C. 在C程序中,注释只能位于一条语句的最后面D. C程序的基本组成单位是函数1.2、编程题(1)参照本章例题,编程输出如下信息:**********Very good!**********(2)编写一个C程序,输出以下信息:******Turbo C ** * * * *1.3 请根据自己的认识,写出C语言的主要特点。

1.4 简述C程序主要由哪些部分构成?1.5 用户编写的C程序上机运行要经过哪些步骤?第二章基本数据类型和表达式2.1 单项选择题(1) 以下不能用作变量名的是()A)_26 B)case C)scanf D)Double(2) 以下合法的八进制数是()A)0135 B)068 C)013.45 D)o7(3) 若变量已正确定义,以下非法的表达式是()A)a/=b+c B)a%(4.0) C)a=1/2*(x=y=20,x*3) D)a=b=c (4) 设x 为int 类型,其值为11,则表达式:(x++*1/3)的值是()A)3 B)4 C)11 D)12(5) 若题中各变量已正确定义并赋值,下面符合C 语法的表达式是()A )a%=7.6; B)a++,a=7+b+c C)int(12.3)%4 D)a=c+b=a+7 (6) 设k 和x 均为int 型变量,且k=7,x=12,则能使值为3的表达式是()A)x%=k%=5 B)x%=(k-k%5) C)x%=k-k%5 D)(x%=k)- (k%=5) (7) 能正确表示数学公式|)sin(|x ,的C 语言表达式是()A)sqrt(abs(sin(x*π/180)))B)sqrt(abs(sin(x*3.14/180))) C)sqrt(sin(x))D)sqrt (fabs (sin(x*3.14/180)))(8) 以下变量x 、y 、z 均为double 型且已正确赋值,不能正确表示代数式z y x的C 语言表达式是()A)x/y*z B)x*(1/(y*z)) C)x/y*1/z D)x/y/z (9) 以下叙述中正确的是()A ) A )C 程序中,赋值运算符的优先级最低。

国家二级C语言(程序设计基础和软件工程基础)机试模拟试卷6(题后

国家二级C语言(程序设计基础和软件工程基础)机试模拟试卷6(题后

国家二级C语言(程序设计基础和软件工程基础)机试模拟试卷6(题后含答案及解析)题型有:1. 选择题选择题1.下列叙述中正确的是A.程序执行的效率与数据的存储结构密切相关B.程序执行的效率只驭决于程序的控制结构C.程序执行的效率只取决于所处理的数据量D.以上都不正确正确答案:A解析:影响程序执行效率的因素有很多,如数据的存储结构、程序处理的数据量、程序的算法等。

顺序存储结构和链式存储结构在数据插入和删除操作上的效率就存在差别。

其中,链式存储结构的效率要高一些。

知识模块:程序设计基础和软件工程基础2.下列描述中,不符合良好程序设计风格要求的是A.程序的效率第一,清晰第二B.程序的可读性好C.程序中要有必要的注释D.输入数据前要有提示信息正确答案:A解析:一般来讲,程序设计风格是指编写程序时所表现出的特点、习惯和逻辑思路。

程序设计风格总体而言应该强调简单和清晰,程序必须是可以理解的。

著名的“清晰第一,效率第二”的论点已成为当今主导的程序设计风格。

知识模块:程序设计基础和软件工程基础3.结构化程序所要求的基本结构不包括A.顺序结构B.GOTO跳转C.选择(分支)结构D.重复(循环)结构正确答案:B解析:结构化程序的基本结构有:顺序结构、选择结构和循环结构,没有GOTO跳转结构。

知识模块:程序设计基础和软件工程基础4.下列选项中不属于结构化程序设计原则的是A.可封装B.自顶向下C.模块化D.逐步求精正确答案:A解析:结构化设计方法的主要原则可以概括为自项向下、逐步求精、模块化、限制使用GOTO语句。

知识模块:程序设计基础和软件工程基础5.结构化程序设计的基本原则不包括A.多元性B.自顶向下C.模块化D.逐步求精正确答案:A解析:结构化程序设计方法的主要原则可以概括为:自顶向下,逐步求精,模块化和限制使用GOTO语句,其中不包括多态性。

知识模块:程序设计基础和软件工程基础6.下列选项中不属于结构化程序设计方法的是A.自顶向下B.逐步求精C.模块化D.可复用正确答案:D解析:结构化程序设计方法的主要原则可以概括为:自顶向下,逐步求精,模块化,限制使用GOTO语句。

2024年3月GESP编程能力认证C++等级考试六级真题(含答案)

2024年3月GESP编程能力认证C++等级考试六级真题(含答案)

2024年3月GESP编程能力认证C++等级考试六级真题(含答案)一、单选题(每题2分,共30分)。

1.在构建哈夫曼树时,每次应该选择()合并。

A.最小权值的节点B.最大权值的节点C.随机节点D.深度最深的节点2.面向对象的编程思想主要包括以下哪些原则。

()。

3.在队列中,元素的添加和删除是按照()原则进行的。

A.先进先出B.先进后出C.最小值先出D.随机进出4.给定一个简单的类定义如下,()语句在类的外部正确地创建了一个Circle 对象并调用了getArea函数。

5.以下代码希望能在一棵二叉排序树中搜索特定的值,请在横线处填入(),使其能正确实现相应功能。

6.题3位格雷编码的正确顺序是。

()。

7.以下动态规划算法的含义与目的是。

()。

A.计算数组nums中的所有元素的和。

B.计算数组nums中相邻元素的最大和。

C.计算数组nums中不相邻元素的最大和。

D.计算数组nums中的最小元素。

8.阅读以下广度优先搜索的代码,使用以下算法遍历以下这棵树,可能的输出是。

()。

9.给定一个空栈,执行以下操作序列最终栈中的元素是。

()。

10.一个有124个叶子节点的完全二叉树,最多有()个结点。

11.在求解最优化问题时,动态规划常常涉及到两个重要性质,即最优子结构和。

()。

A.重叠子问题B.分治法C.贪心策略D.回溯算法12.若一棵二叉树的先序遍历为A,B,D,E,C,F,中序遍历为D,B,E,A,F,C,它的后序遍历为。

()。

13.线性筛法与埃氏筛法相比的优势是。

()。

A.更容易实现B.更节省内存C.更快速D.更准确14.以下代码使用了辗转相除法求解最大公因数,请在横线处填入(),使其能正确实现相应功能。

15.下面的代码片段用于反转单链表,请进行()修改,使其能正确实现相应功能。

二、判断题(每题2分,共20分)。

16.哈夫曼树是一种二叉树。

()。

17.在动态规划中,状态转移方程的作用是定义状态之间的关系。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4.下列描述中不正确的是
A字符型数组中可以存放字符串
B可以对字符型数组进行整体输入、输出
C可以对整型数组进行整体输入、输出
D不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值
5.若有两条语句:static char x[]=”abcde”;
static char y[]={‘a’,’b’,’c’,’d’,’e’};
}
五、编程题
1、#include <stdio.h>
void main()
{
int a,b,c,t;
printf(“input a,b,c:”);
scanf(“%d,%d,%d”,&a,&b,&c);
if(a<b)
{t=a;a=b;b=t;}
if(a<c)
{t=a;a=c;c=t;}
if(b<c)
{t=b;b=c;c=t;}
《程序设计基础》考试试卷六
班级姓名学号____________
题号





总得分
评卷人
审核人
得分
一.选择题(20分):
1.判断下面标识符中哪个是C语言中合法的用户定义标识符:
A. 2a1b B. a%bd C. typedef D. _123
2.下列表达式的值哪些不等于0?
A. 2>>1 B.–a&a C. 1>5 D. a^a
int a=1,b=2,c=3;
if(c=a) printf("%d\n",c);
else printf("%d\n",b);
}
2、#include <stdio.h>
void main(){
int n='c';
switch(n++){
default: printf("error");break;
case 'a':case 'A':case 'b':case 'B':printf("good");break;
Y=Y*(*P++);
Printf(“Y=%ld\n”,Y);
}(该程序10分,每出现一个语法错误扣1分,扣完为止。)
3、
#include <stdio.h>
long f(int n){
if (n= =0||n= =1) return 1;
else return f(n-1)+f(n-2);
}
void main(){
2、已知一个整型数组X[4],它的各元素值分别为3、11、8、22。使用指针表示法编写程序,求各数组元素之积。
3、编写一个C的递归程序,求解如下函数:
《程序设计基础》试卷六参考答案与评分标准
一、选择题
DADDC AACBD ACCCC ABCAC
二、程序阅读题
1、1
1、passwarn
2、25
3、48(每个5分,共20分)
Max_value(m)
int m[3][5];
{ inti,j,max;
max=m[0][0];
for (i=0;i<3;i++)
for (j=0;j<5;j++)
if(m[i][j]>max) max=m[i][j];
return (max);}
4.以下程序是从键盘上输入若干学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。
}
2、以下程序用于计算一个一维数组各元素平方根的和;
void main(){
int a[10],i,sum=0;
for (i=0;i<=10;i++)
scanf(“%d”,&a[i]);
i=0;
while (!(i=9)){
sum+=sqrt(a[i]);
i++;
A .32768 B. 0 C. 037 D0xAF
20.当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是
A.c=b=a;B.(a=c)‖(b=c); C. (a=c)&&(b=c); D. a=c=b;
二、写出下列程序的运行结果。(20分)
1、#include <stdio.h>
voidmain() {
7.以下说法中正确的是:
A#define和printf都是C语句
B#define是C语句,而printf不是
Cprintf是C语句,但#define不是
D#define和printf都不是C语句
8.假设指针px和py是指向占8个字节的double数据类型,今设px=2048,
py=1024,则px-py=。
printf(“%d, %d,”,a,b);
printf(“%d, %d\n”,p1,p2);
}
四、程序填空题(10 分):
1.下面的函数是用于求一个3*5的二维数组m的最大元素值,请将正确答案填
在横线上。
Max_value(m)
int m[3][5];
{ inti,j,max;
max=m[0][0];
printf(“after sorted:”);
printf(“%d,%d,%d\n”,a,b,c);
}(该程序10分,每出现一个语法错误扣1分,扣完为止。)
2、#include <stdio.h>
void main(){
intI,X[4]={3,11,8,22},*p=x
long y=1;
for(I=0;I<4;I++)
{ int i,j;
x[0][0]=1;
for(i=1;i<N;i++)
{x[i][0]=x[i][i]=0;
for(j=1;j<i;j++)
x[i][j]= x[i][j]+x[i-1][j];
}
}
4 main()
{
int a=100,b=10;
int *p1=&a, *p2=&b;
p1=b; p2=a;
11. C语言中,运算对象必须是整型的运算符是。
A.%B./C.%和/D.>=
12.为表示关系x≥y≥z,应使用C语言表达式。
A.(x≥y)&&(y≥z) B. (x>=y) and(y>=z)
C. (x>=y)&&(y>=z) D. (x>=y)‖(y>=z)
13.以下对C语言函数的有关描述中,正确的是:
} while(i<9);
printf("%d\n",s);
}
4、有以下程序
int func(int x)
{
if(x= =1)
return 2;
else
return x*func(x-1);
}
#include <stdio.h>
voidmain()
{ printf(“%d\n”,func(4)); }
int n;
scanf(“%d”,&n);
printf(“%ld”,f(n));
}(该程序15分,每出现一个语法错误扣1分,扣完为止。)
A. 1024 B. 256 C. 128 D. 64
9. .指出下列程序段中那个语句是不正确的?
(int x,y,z[10],*px,*py)
A.px=&x,py=pxB. px=x C. py=&y D. px=z
10.设char b[5],*p=b;以下赋值语句正确的是。
A. p=100 B. p=’abcd’C. p=’abcd’D. *p=”abcd”
A. “%s” B. “%c” C. “%f” D. “%d”
17.对于scanf(“A=%d”,&a)语句,输入10的正确的输入形式是:
A. a=10 B.A=10 C. 10 D. =10
18.以下选项中属于C语言的数据类型是
A复数型B逻辑型C双精度型D集合型
19.在C语言中,不正确的int类型的常数是
for (i=0;;i++)
for (j=0;;j++)
if(>max) max=;
return (max);}
2.以下程序是从键盘上输入若干学生的成绩,统计并输出最高成绩和最低成绩,
当输入负数时结束输入。
main()
{ float x,amax,amin;
scanf(“%f”,&x);
amax=x;
三、程序改错:找出下列程序存在的错误,并进行改正。(20分)
1、以下程序的功能是:给r输入数据后计算半径为r的圆面积s。
#include <stdio.h>
#define PI 3.1415926;
void main(){
int r;
float s;
scanf("%d",r);
s=PI*r**r;
printf("s=%f\n",s);
main()
{ float x,amax,amin;
scanf(“%f”,&x);
amax=x;
amin=x;
while(x<0)
{ if (x>amax)amax=x;
相关文档
最新文档