编程复习题-C语言院二级
全国二级计算机C语言程序设计题库
一、单项选择题(本大题共20题,每题2 分,共40分)1、以下不是C语言的特点的是。
A、C语言简洁、紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件进行操作D、C语言移植性好2、以下不正确的C语言标识符是A、ABCB、abcC、a_bcD、ab.c3、一个C语言程序是由。
A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为A、intB、floatC、doubleD、不确定6、在C语言中,char型数据在内存中的存储形式是。
A、补码B、反码C、源码D、ASCII码7、有如下程序,输入数据:12345M678<cR>后(<CR>表示回车),x的值是。
#include<stdio.h>main(){int x;float y;scanf("%3d%f",&x,&y);}A、12345B、123C、45D、3458、若有以下定义int a,b; float x,则正确的赋值语句是。
A、a=1,b=2B、b++;C、a=b=5D、b=int(x);9、以下程序的执行结果是。
#include<stdio.h>{int i=10,j=10;printf("%d,%d\n",++i,j--);}A、11,10B、9,10C、11,9D、10,910、巳知字母A的ASCII码是65,以下程序的执行结果是。
#include<stdio.h>main(){char c1='A',c2='Y';printf("%d,%d\n",c1,c2);A、A,YB、65,65C、65,90D、65,8911、下列运算符中优先级最高的是。
202403C语言二级
青少年软件编程(C语言)等级考试试卷(二级)分数:100 题数:5一、编程题(共5题,共100分)1.满足条件的数的累加2现有n个整数,将其中个位数为k的数进行累加求和。
时间限制:1000内存限制:65536输入第一行1个整数n。
(0 < n < 1000)第二行n个非负整数,以空格分隔,每个数不大于100000。
第三行1个整数k。
(0 ≤ k ≤ 9)输出输出满足题目要求的累加和。
样例输入样例输出试题编号:20240323-2-01试题类型:编程题标准答案:试题难度:一般试题解析:展示地址:点击浏览考生答案:#include<bits/stdc++.h>using namespace std;int main(){int n;cin>>n;int a[n+1];for(int i=1;i<=n;i++){cin>>a[i];int k;cin>>k;int sum=0;for(int i=1;i<=n;i++){if(a[i]%10==k){sum+=a[i];}}cout<<sum;return 0;}考生得分:20是否评分:已评分评价描述:2.统一文件名小A在命名文件的时候经常不注意大小写,格式比较混乱。
现要求你写一个程序将目录下的文件统一规范的格式,即文件名的第一个字符如果是字母要大写,其他字母小写。
如将Test、test整理成Test。
时间限制:1000内存限制:65536输入第一行一个数字n,表示有n个文件名要统一,n不超过100。
接下来n行,每行一个单词,长度不超过20,表示文件的名字。
文件名由字母、数字和-组成。
输出n行,每行一个单词,对应统一后的文件名。
样例输入样例输出试题编号:20240323-2-02试题类型:编程题标准答案:试题难度:一般试题解析:展示地址:点击浏览考生答案:(此题已作答)考生得分:0是否评分:已评分评价描述:b杯“Lab杯”乒乓球赛就要在PKU的实验室之间举行了。
二级C语言复习题(附答案)
main() { int k=3; if(k++>3) printf(“%d\n”,k++); else printf(“%d\n”,--k); } A) 5 B) 4 C) 3 D) 2 10、下面不正确的字符串常量是( )。 A) ‘12\\’ B) “1+2” C) “0” D) “\0” 11、若x是整型变量,pb是基本类型为整型的指针变量,则正确的赋值 表达式是( )。 A) pb=&x; B) pb=x C) *pb=&x; D) *pb=x; 12、设有如下程序: #include <stdio.h main() { int **k,*j,i=100; j=&i; k=&j; printf(“%d\n”,**k); } 上述程序的输出结果是( )。 A) 运行错误 B) 100 C) i的地址 D) j的地址 13、在C语言中,要求运算数必须是整型的运算符是( ) A) % B) / C) < D) ! 14、执行下面程序中的输出语句后,a的值是( )。 main() { int a; printf(“%d\n”,(a=3*5,a*4,a+5)); } A) 65 B) 20 C) 15 D) 10 15、C语言中允许用外部声明来指定变量、函数和其它标识符特征,这 里所说的外部指的是( )。 A) 冠以关键字extern B) 它们的位置在函数体的外部 C) 它们的作用范围是全程的 D) 它们的位置在函数外部 16、对整个结构体能进行操作是( )。 A) 对结构进行赋值 B) 对结构进行存取 C) 对结构进行运算 D) 对结构进行&操作 17、给出下面程序的输出结果( )。
C语言复习资料
一、单项选择题。(每小题1分)
(完整版)计算机二级C语言考试编程题题库
计算机c语言编程题库1、求100之内自然数中最大的能被17整除的数。
void main(){ int i;for(i=100;i>0;i--)if(i%17==0)break;printf("%d\n",i);}2、已知a,b,c都是1位整数,求当三位整数abc、cba的和为1333时a、b、c的值。
void main(){int a,b,c;for(a=1;a<=9;a++){for(b=0;b<=9;b++){for(c=1;c<=9;c++)if(a*100+b*10+c+c*100+b*10+a==1333)printf("%d,%d,%d\n",a,b,c);}}}3、计算并输出200-400之间不能被3整除的整数的和。
void main(){ int i,sum=0;for(i=200;i<=400;i++)if(i%3!=0)sum=sum+i;printf("%d\n",sum);}4、从键盘输入10个数,统计非负数的个数,并计算非负数的和。
void main(){ int i,n=0,sum=0;int a[10];printf(“请输入10个数:”);for(i=0;i<10;i++)scanf(“%d”,&a[i]);for(i=0;i<10;i++)if(a[i]>=0){ sum=sum+a[i];n++;}printf("非负个数是%d,sum=%d\n",n,sum);}5、求100之内自然数中偶数之和。
void main(){ int i,sum=0;for(i=0;i<=100;i++)if(i%2==0)sum=sum+i;printf("sum=%d\n",sum);}6、输入5个数,求和并输出。
要求编写求和的函数。
计算机二级证考试c语言试题及答案
计算机二级证考试c语言试题及答案一、选择题1. 下列关于C语言的说法中,正确的是:A. C语言是面向对象编程语言B. C语言是一种解释性语言C. C语言是一种编译性语言D. C语言主要用于网页开发2. C语言中的数组下标是从几开始计数的?A. 0B. 1C. -1D. 由用户指定3. 下列代码中,输出的结果是什么?```cint a = 10;int b = 5;printf("%d", a % b);```B. 5C. 2D. 04. 下列关于函数的说法中,正确的是:A. 函数只能在主函数中调用B. 函数可以在任何地方调用C. 函数只能接收一个参数D. 函数不能返回值5. 下列代码中,循环体会执行几次? ```cint i;for(i = 0; i < 5; i++) {printf("%d ", i);}```A. 0次B. 4次D. 6次二、填空题1. C语言中,用于定义常量的关键字是 __________。
2. 下列代码中,空格处应该填入什么值才能使程序输出结果为20?```cint a = 10;int b = __________;printf("%d", a * b);```3. 下列代码中,空格处应该填入什么运算符才能使程序输出结果为1?```cint a = 5;int b = 4;printf("%d", a ________ b);```三、编程题1. 编写一个程序,要求用户输入一个整数n,然后输出1到n之间所有偶数的和。
2. 编写一个函数,实现计算两个整数之间的最大公约数(GCD)的功能,并在主函数中调用该函数。
3. 编写一个程序,定义一个字符串数组,其中有5个元素,每个元素是一个字符串。
然后使用循环输出该数组中所有的字符串内容。
四、综合题1. 下面是一个简化的学生成绩管理程序的代码,有一些错误,请帮助找出并修复错误。
2023年9月青少年软件编程C语言等级考试试卷二级真题(含答案)
2023年9月青少年软件编程C语言等级考试试卷二级(含答案)分数:100题数:5一、编程题(共5题,共100分)第1题.数组指定部分逆序重放将一个数组中的前k项按逆序重新存放,例如,将数组8,6,5,4,1前3项逆序重放得到5,6,8,4,1。
时间限制:1000内存限制:65536输入:有两行,第一行两个整数,以空格分隔,分别为数组元素的个数n(1<n<100)以及指定的k(1<=k<=n)。
第二行是n个整数,每两个整数之间用空格分隔。
输出:只有一行,输出按题目要求逆序后数组的整数,每两个整数之间用空格分隔。
样例输入:5386541样例输出:56841参考答案:#include<bits/stdc++.h>using namespace std;int a[1000],b[1000];int main(){int n,k;cin>>n>>k;for(int i=0;i<n;i++){cin>>a[i];b[i]=a[i];}for(int i=k-1;i>=0;i--){cout<<b[i]<<';';}for(int i=k;i<n;i++){cout<<a[i]<<';';}}第2题.谁考了第k名在一次考试中,每个学生的成绩都不相同,现知道了每个学生的学.号和成绩,求考第k名学生的学.号和成绩。
时间限制:1000内存限制:65536输入:第一行有两个整数,分别是学生的人数n(1≤n≤100),和求第k名学生的k(1≤k≤n)。
其后有n行数据,每行包括一个学.号(整数)和一个成绩(浮点数),中间用一个空格分隔。
输出:输出第k名学生的学.号和成绩,中间用空格分隔。
(注:请用%g输出成绩)。
样例输入:539078800167.89078800290.390788003619078800468.49078800573.9样例输出:9078800468.4参考答案:#include<bits/stdc++.h>using namespace std;int sum(int n){int s=0;while(n>0){s+=n%10;n/=10;}return s;}int main(){int i,j,t,n,a[1000],b[1000];cin>>n;for(i=0;i<n;i++){cin>>a[i];b[i]=sum(a[i]);}for(i=0;i<n-1;i++){for(j=0;j<n-i-1;j++){if((b[j]<b[j+1])||((b[j]==b[j+1])&&(a[j]<a[j+1]))){t=b[j];b[j]=b[j+1];b[j+1]=t;t=a[j];a[j]=a[j+1];a[j+1]=t;}}}for(i=0;i<n;i++){cout<<a[i]<<"";}return0;}第3题.内部元素之和输入一个整数矩阵,计算位于矩阵内部的元素之和。
二级C语言编程题编程题
类型一:调整一个数的个、十、百、千位1.函数fun的功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。
合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上, b数的十位和个位数依次放在c数的百位和个位上。
例如,当a=45,b=12时,调用该函数后,c=4152。
注意: 部分源程序存在文件PROG1.C中。
数据文件IN.DAT中的数据不得修改。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
给定源程序:#include <stdio.h>void fun(int a, int b, long *c){ *c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10); }main(){ int a,b; long c;printf("Input a, b:"); scanf("%d,%d", &a, &b);fun(a, b, &c);printf("The result is: %d\n", c);NONO();}2.请编写函数fun,其功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。
合并的方式是:将a 数的十位和个位数依次放在c数的个位和百位上,b数的十位和个位数依次放在c数的千位和十位上。
例如,当a=45,b=12,调用该函数后c=1524。
♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣#include <conio.h>#include <stdio.h>void fun ( int a, int b , long *c){ *c=(b/10)*1000+(a%10)*100+(b%10)*10+a/10 ; }main(){ int a,b; long c;printf(" input a, b: ");scanf("%d%d", &a,&b);fun(a,b,&c);printf(" the result is :%ld\n", c);}3.请编写函数fun,其功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。
二级c语言考试习题
读程序第一章概述[1]分析下列程序段的运行结果。
main( ){ char ch1='\101',ch2='\x 5c ';printf("%c,%c\n",ch1,ch2);}第二章基本数据类型和运算[1]分析下列程序,写出运行结果。
main(){printf("C语言各数据类型的长度为:\n");printf("short %d bytes\n",sizeof(short)); printf("int %d bytes\n",sizeof(int));printf("long %d bytes\n",sizeof(long);printf("char %d bytes\n",sizeof(char));printf("float %d bytes\n",sizeof(float)); printf("double %d bytes\n",sizeof(double)); }第三章顺序、选择和循环结构的程序设计[1]阅读程序,写出运行结果。
main(){ int a=10,b=4,c=3;if (a<b) a=b;if (a<c) a=c;printf("%d,%d,%d",a,b,c);}[2]阅读下列程序,写出程序的输出结果。
main(){ int x=100,a=10,b=20,ok1=5,ok2=0; if (a<b)if (b!=15)if (!ok1)x=1;else if(ok2)x=10;else x=-1;printf("%d\n",x);}[3]阅读下列程序,写出程序运行的输出结果。
main(){ int y=9;for (;y>0;y--)if(y%3==0){printf("%d",--y);continue;}}[4]阅读下列程序:main(){int a;char b;float c;printf("input a b c:");scanf("%d%c%f",&a,&b,&c);printf("a=%d,b=%c,c=%f\n",a,b,c);}程序运行后若输入“1234r1234.567(回车)”,写出程序的输出结果。
青少年软件编程(C语言)等级考试试卷(二级)202312
青少年软件编程(C语言)等级考试试卷(四级)2023-12202312C语言四级真题编程题1.移动路线桌子上有一个m行n列的方格矩阵,将每个方格用坐标表示,行坐标从下到上依次递增,列坐标从左至右依次递增,左下角方格的坐标为(1,1),则右上角方格的坐标为(m,n)。
小明是个调皮的孩子,一天他捉来一只蚂蚁,不小心把蚂蚁的右脚弄伤了,于是蚂蚁只能向上或向右移动。
小明把这只蚂蚁放在左下角的方格中,蚂蚁从左下角的方格中移动到右上角的方格中,每步移动一个方格。
蚂蚁始终在方格矩阵内移动,请计算出不同的移动路线的数目。
对于1行1列的方格矩阵,蚂蚁原地移动,移动路线数为1;对于1行2列(或2行1列)的方格矩阵,蚂蚁只需一次向右(或向上)移动,移动路线数也为1……对于一个2行3列的方格矩阵,如下图所示:-------------------|(2,1)|(2,2)|(2,3)|-------------------|(1,1)|(1,2)|(1,3)|-------------------蚂蚁共有3种移动路线:路线1:(1,1) → (1,2) → (1,3) → (2,3)路线2:(1,1) → (1,2) → (2,2) → (2,3)路线3:(1,1) → (2,1) → (2,2) → (2,3)时间限制:1000内存限制:65536输入输入只有一行,包括两个整数m和n(0输出输出只有一行,为不同的移动路线的数目。
样例输入2 3样例输出32.公共子序列我们称序列Z = < z1, z2, ..., zk >是序列X = < x1, x2, ..., xm >的子序列当且仅当存在严格上升的序列< i1, i2, ..., ik >,使得对j = 1, 2, ... ,k, 有xij = zj。
比如Z = < a, b, f, c > 是X = < a, b, c, f, b, c >的子序列。
《C语言程序设计II》期末复习
《C语言程序设计II》期末复习一、复习内容:⏹第1~4讲指针●指针的概念:内存单元的排列方式、地址的概念、不同数据类型内存单元的个数、存储方式不同,两种变量的存取方式,指针即是地址,NULL;●指针变量:概念和定义方法(空悬指针、空类型与空指针),指针的两个特殊运算符(*与&),指针变量作为函数参数(通过函数调用得到n个要改变的值);●指针运算:指针与整数的运算、++(--)、比较、相减;●指针与一维数组:对数组名的理解,指针与一维数组(指向数组元素的指针、引用数组元素时的指针运算、通过指针引用数组元素的几种方法、用数组名作函数参数);●指针与二维数组:理解二维数组中行指针、列指针的类型,加减1所移动的字节数,如何利用它们访问二维数组元素,用作函数参数参数时在主调函数中如何给出实参。
●通过指针引用字符串:字符串的引用方式,字符指针作函数参数,使用字符指针变量和字符数组的比较;●指向函数的指针:什么是函数指针,怎样定义和使用指向函数的指针变量,用指向函数的指针作函数参数;●返回指针值的函数:函数的返回值是一个地址,定义格式,使用;●指针数组和多重指针:什么是指针数组,指向指针数组的指针,指针数组作main函数的形参;●动态内存分配:动态内存分配的概念、必要性,与动态内存分配相关的4个函数,动态数组的建立;●有关指针的小结:指针、指向、指针变量,void *类型与NULL的比较,指针与数组的关系,各类指针类型的比较,指针的几类运算;●结构体指针:什么是结构体指针,用结构体指针访问成员的简便写法,指向结构体数组的指针,结构体变量与结构体指针作函数参数;●用指针处理链表:什么是链表,建立静态链表,建立动态链表,输出链表。
(理解链表的概念,本次考试不包含这一部分内容)。
⏹第5讲位运算和预处理指令●位运算与位运算符:位运算概念,6种基本的位运算符(&、|、^、~、<<、>>),&和^运算符的一些用法,位运算的复合赋值运算符;●位段:问题的提出,位段的概念与定义,位段的使用,注意事项;(这一部分内容不考)●预处理:概念,主要工作,功能类型,书写要求;●宏定义:不带参数的宏定义,带参数的宏定义;●“文件包含”处理:格式,作用,带<>与””的差别;●条件编译:概念,好处,几种基本格式。
计算机二级c语言往年试题及答案
计算机二级c语言往年试题及答案一、选择题1. 下列不属于C语言关键字的是:A) if B) else C) switch D) case答案: D2. 在C语言中,下列关于数组说法正确的是:A) 数组的下标可以为负数B) 数组的大小可以在运行时动态改变C) 数组下标的类型可以是浮点数D) 数组元素的类型可以不相同答案: D3. 下面哪个运算符的优先级最高?A) ! B) ++ C) + D) &&答案: B4. 以下哪个循环语句无法在其内部控制循环的流程?A) while B) do-while C) for D) if-else答案: D5. 下列C代码,输出结果为何?```c#include <stdio.h>int main(){int a = 5, b = 2;printf("%d", a++ - b);printf("%d", a);}```A) 2, 6 B) 3, 6 C) 3, 7 D) 2, 7答案: A二、填空题1. 下列C代码,输出结果为何?```c#include <stdio.h>int main(){int x = 3;while (x++ < 6)printf("%d ", x);return 0;}```答案: 4 5 62. 下列C代码,输出结果为何?```c#include <stdio.h>int main(){int i = 0;while (i < 3){printf("%d ", ++i);i++;}return 0;}```答案: 1 3三、编程题1. 编写一个C程序,实现输入一个正整数n,计算并输出n的阶乘。
```c#include <stdio.h>unsigned long long factorial(unsigned int n);int main(){unsigned int n;printf("请输入一个正整数:");scanf("%u", &n);printf("%d的阶乘为:%llu", n, factorial(n));return 0;}unsigned long long factorial(unsigned int n){if (n == 0 || n == 1)return 1;elsereturn n * factorial(n - 1);}```以上为编写的一个简单的阶乘计算程序。
计算机二级c语言题库
计算机二级c语言题库
计算机二级C语言题库包括以下题目:
1. 选择题
(1)为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为:
A. PAD图
B. N-S图
C. 结构图
D. 数据流图
(2)结构化程序设计主要强调的是:
A. 程序的。
2. 填空题
【】si【】9【】t=n
改错题:【】t=x;x=y;【】return t;
【】t=i【】i【】0
改错题:【】while(fabs(t)=num)【】t=s。
以上只是部分题目的示例,完整的计算机二级C语言题库会包含更多题目,包括选择题、填空题、改错题等各类题型。
您可以通过考试培训网站或教育类网站获取计算机二级C语言题库的全部题目及答案,也可以通过做题应用来练习和提高自己的解题能力。
《C语言》复习题2—带答案
《C语言》习题2一、单项选择题1、一个C程序的执行是从()A.main()函数开始,直到main()函数结束B.第一个函数开始,直到最后一个函数结束C.第一个语句开始,直到最后一个语句结束D.main()函数开始,直到最后一个函数结束2、设有语句int a=3;则执行语句a+=a-=a*a;后,变量a的值是()A.3 B.0 C.-12 D.93、若有char c[5]={'c','d','\0','e','\0'};则执行语句printf("%s",c);结果是( )。
A.cd\0e B.'c''d' C.cd D.cd e4、执行char str[10]=”Ch\nina”; strlen(str)的值是()A.5 B.6 C.7 D.95、组成C程序的基本单位是()A.函数B.标识符C.表达式D.语句6、设int类型的数据长度为2字节,则该类型数据的取值范围是()A.0至65536 B.0至65535C.-32767至32768 D.-32768至327677、在C语言中,逻辑值“真”是用()表示的。
A.预定义为真值的宏B.非零数C.正数D.非零整数8、C语言对于嵌套if语句规定else总是与()匹配。
A.与最外层的if B.与之前最近的ifC.与之前最近的不带else的if D.与最近的{ }之前的if9、数组定义char a[10]={'`a`,`b`,`c`}:包括了几个元素()A.3 B.9 C.4 D.1010、若有语句scanf(“%d%d”,&a,&b);要使变量a,b分别得到12和34;正确的输入形式为()A.12 34 B.12,34 C.1234 D.12:3411、以下程序的输出结果是()#include<stdio.h>void main(){char s[]="159",*p; p=s;printf("%c",*p++); printf("%c",*p++);}A. 15B. 16C. 12D. 5912、以下程序的输出结果是()。
c语言计算机二级试题及答案
c语言计算机二级试题及答案一、选择题1. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. whileC. returnD. void答案:A2. 以下哪个不是C语言的基本数据类型?A. intB. charC. doubleD. string答案:D3. 在C语言中,以下哪个操作符用于计算两个数的和?A. +B. -C. *D. /答案:A4. 以下哪个是C语言中正确的数组声明?A. int array[10];B. int array[];C. int array = 10;D. int array[10] = {0};答案:A5. 在C语言中,哪个函数用于将字符转换为对应的整数值?A. toupper()B. tolower()C. atoi()D. isalpha()答案:C二、填空题1. 在C语言中,定义一个字符变量可以使用关键字______。
答案:char2. 一个C语言程序的执行从______函数开始。
答案:main3. 在C语言中,使用______运算符可以实现字符串的连接。
答案:+4. 一个C语言程序中,如果需要使用数学函数,通常需要包含的头文件是______。
答案:math.h5. 在C语言中,使用______函数可以获取当前时间。
答案:time()三、简答题1. 简述C语言中指针和数组的关系。
答案:在C语言中,指针是一种特殊的变量,它存储的是内存地址。
数组名可以被看作是一个常量指针,它指向数组的第一个元素的地址。
因此,通过指针可以访问数组的元素。
指针运算和数组下标访问在底层是等价的。
2. 描述C语言中结构体的定义和使用。
答案:结构体是一种用户自定义的数据类型,它允许将不同的数据类型组合成一个单一的数据结构。
定义结构体时,使用关键字struct后跟结构体名和大括号内的成员定义。
使用结构体时,可以声明结构体变量,并通过点(.)操作符访问其成员。
四、编程题1. 编写一个C语言程序,实现两个整数的加法,并输出结果。
c语言二级程序设计试题及答案
c语言二级程序设计试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,错误的是:A. C语言是一种高级语言B. C语言是面向对象的程序设计语言C. C语言具有丰富的数据类型D. C语言具有结构化的特点答案:B2. 在C语言中,用于定义一个整型数组的语句是:A. int a[10];B. int a[];C. int a(10);D. int a=10;答案:A3. 下列哪个选项是正确的C语言函数声明?A. int function(int a, int b);B. int function(int, int);C. int function(int a);D. int function();答案:B4. 在C语言中,用于输入一个字符的函数是:A. scanf()B. printf()C. getchar()D. puts()答案:C5. 下列哪个选项不是C语言中的控制语句?A. ifB. switchC. forD. do-while答案:B6. 在C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A7. 下列哪个选项是正确的C语言指针声明?A. int *p;B. int *p[];C. int (*p)[];D. int *p[10];答案:A8. 在C语言中,用于定义一个枚举类型的关键字是:A. enumB. typedefC. structD. union答案:A9. 下列哪个选项是正确的C语言文件操作函数?A. fopen()B. fclose()C. fprintf()D. All of the above答案:D10. 在C语言中,用于定义一个联合体的关键字是:A. unionB. structC. typedefD. enum答案:A二、填空题(每题2分,共20分)1. C语言中,用于定义一个浮点型变量的关键字是________。
计算机二级C语言编程题库(100题)
2011,____年上机题100题库1: 第1题m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。
答案:int fun(int score[],int m,int below[]){int i,k=0,aver=0;for(i=0;i<m;i++)aver+=score[i];aver/=m;for(i=0;i<m;i++)if(score[i]<aver){below[k]=score[i];k++;}return k;}2: 第2题请编写函数fun,它的功能是:求出1到100之内能北7或者11整除,但不能同时北7和11整除的所有证书,并将他们放在a所指的数组中,通过n返回这些数的个数。
答案:void fun(int *a, int *n){int i,j=0;for(i=2;i<1000;i++)if ((i%7==0 || i%11==0) && i%77!=0)a[j++]=i;*n=j;}3: 第3题请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。
答案:void fun(int x, int pp[ ], int *n){int i=1,j=0;k=0,*t=pp;for(i=0;i<=x;i++)if(i%2!=0){t[j]=I;j++;}for(i=0;i<j;i++)if(x%t[i]==0){pp[k]=t[i];k++;}*n=k;}4: 第4题请编写一个函数void fun(char *tt,int pp[]),统计在tt字符中"a"到"z"26各字母各自出现的次数,并依次放在pp所指的数组中。
计算机二级C语言考前复习题:选择题
计算机二级C语言考前复习题:选择题计算机二级C语言考前复习题:选择题1). 假设变量均已正确定义并赋值,以下合法的C语言赋值语句是( )。
A.x=y==5;B.x=n%2.5;C.x+n=I;D.x=5=4+1;正确答案:A答案解析:选项A的含义是把关系表达式y==5的值赋给变量x。
所以这是一条正确的赋值语句。
因为赋值运算符左侧的操作数必须是一个变量,而不能是表达式或者常量,所以选项C和D是错误的。
因为求余运算符″%″两侧的运算对象都应当是整型数据,所以选项B是错误的。
2). 以下数据构造中,属于非线性构造的是( )A.循环队列B.带链队列C.二叉树D.带链栈正确答案:C答案解析:根据数据构造中各数据元素之间的前后件关系的复杂程度,一般将数据构造分为两大类:线性构造和非线性构造。
循环队列、带链队列和带链栈都是线性构造,而二叉树是非线性构造。
3). 以下表达中正确的选项是( )A.一个算法的空间复杂度大,那么其时间复杂度也必定大B.一个算法的空间复杂度大,那么其时间复杂度必定小C.一个算法的时间复杂度大,那么其空间复杂度必定小D.算法的时间复杂度与空间复杂度没有直接关系正确答案:D答案解析:算法的复杂度主要包括时间复杂度和空间复杂度。
算法的时间复杂度是指执行算法所需要的计算工作量,算法的工作量用算法所执行的根本运算次数来度量,而算法所执行的根本运算次数是问题规模的函数,即算法的工作量=f(n),其中n是问题的规模;算法的空间复杂度,一般是指执行这个算法所需要的内存空间。
一个算法所占用的存储空间包括算法程序所占用的空间、输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间。
根据各自的定义可知,算法的时间复杂度与空间复杂度并不相关。
4). 以下描绘中正确的选项是( )A.程序就是软件B.软件开发不受计算机系统的限制C.软件既是逻辑实体,又是物理实体D.软件是程序、数据与相关文档的集合正确答案:D答案解析:计算机软件与硬件是计算机系统中互相依存的两局部。
计算机等级二级考试题(C语言)
考试题1---------一、客观题。
1.()是构成C语言程序的基本单位。
A、函数B、过程C、子程序D、子例程2.C语言程序从()开始执行。
A、程序中第一条可执行语句B、程序中第一个函数C、程序中的main函数D、包含文件中的第一个函数3.下列正确的标识符是()。
A、-a1B、a[i]C、a2_iD、int t4.C语言中的简单数据类型包括()。
A、整型、实型、逻辑型B、整型、实型、逻辑型、字符型C、整型、字符型、逻辑型D、整型、实型、字符型5.如果int a=3,b=4;则条件表达式"a<b? a:b"的值是()。
A、3B、4C、0D、16.设整型变量 a=2,则执行下列语句后,浮点型变量b的值不为0.5的是()A、b=1.0/aB、b=(float)(1/a)C、b=1/(float)aD、b=1/(a*1.0)7.以下对一维数组a的正确说明是:()。
A、char a(10)B、 int a[];C、int k=5,a[k];D、char a[3]={‘a’,’b’,’c’};8.若有以下数组说明,则i=10;a[a[i]]元素数值是()。
int a[12]={1,4,7,10,2,5,8,11,3,6,9,12};A.10B.9C.6D.59.下列数据结构中,属于非线性结构的是()。
A、循环队列B、带链队列C、二叉树D、带链栈10.C语言中函数返回值的类型是由()决定的。
A、函数定义时指定的类型B、return语句中的表达式类型C、调用该函数时的实参的数据类型D、形参的数据类型11.以下对结构变量stul中成员age的非法引用是()。
struct student{ int age;int num;}stu1,*p;p=&stu1;A、 stu1.ageB、 student.ageC、 p->ageD、 (*p).age12.设有如下定义:struck sk{ int a;float b;}data;int *p;若要使P指向data中的a域,正确的赋值语句是()。
2024年6月青少年软件编程C语言等级考试试卷二级真题
2024年6月青少年软件编程C语言等级考试试卷二级真题分数:100 题数:51.冠军魔术(20分)。
2018年FISM(世界魔术大会)近景总冠军简纶廷的表演中有一个情节:以桌面上一根带子为界,当他将纸牌从带子的一边推到另一边时,纸牌会变成硬币;把硬币推回另一边会变成纸牌。
这里我们假设纸牌会变成等量的硬币,而硬币变成纸牌时,纸牌的数量会加倍。
那么给定纸牌的初始数量,当他来回推了N次(来/回各算一次)后,手里拿的是纸牌还是硬币?数量是多少?输入:输入在一行里给出两个正整数,分别是纸牌的初始数量和魔术师推送的次数。
这里假设初始状态下魔术师手里全是纸牌。
输出:如果最后魔术师手里是纸牌,输出0和纸牌数量;如果是硬币,则输出1和硬币数量。
数字间须有1个空格。
题目保证结果数值不超出整型范围(即231-1)。
2.找座位(20分)。
组织一场考试时,监考老师手里会有一份签到表,按座位号的顺序列出学生。
但学生要根据这份表找到自己的座位编号就很麻烦了。
本题就要求你编写程序,帮助学生快速找到他们的座位号。
输入:输入第一行给出一个不超过103的正整数N,是参加考试的学生数。
以下N行,第i行给出座位号为i的学生的学号(i=1,……, N)。
学号是一个不超过8位、完全由数字组成的字符串。
输入保证每个学生只分配一个座位。
接下来一行给出一个不超过105的正整数M,是待查询的学生数。
以下M行,每行给出一个待查询的学生的学号。
输出:对每一个待查询的学生,如果他在考场里有座位,则在一行中输出其座位号;否则输出“NA”(Not Available的缩写),表示座位号不存在。
3.英语老师小助手(20分)。
英语老师要求学生按照如下规则写一串字母:规则1,如果写了某个大写字母,下一个就必须写同个字母的小写,或者写字母表中前一个字母的大写。
规则2,如果写了某个小写字母,下一个就必须写同个字母的大写,或者写字母表中下一个字母的小写。
例如“zZzZYXWwxyYX”就是一个合法的字母串;而“wVUuvUTsR”就是非法的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.输入3个正整数,判断其中是否有两个奇数和一个偶数。
若是则输出YES,否则输出NOT。
2.打印出所有的水仙花数。
水仙花数是一个三位数且各位上的数字立方和等于该数本身。
如153是一个水仙花数。
3.利用公式π/4≈1-1/3+1/5-1/7+…求解π的近似值(精度为1e-6)
4.编写函数,求两个正整数的最大公约数(6分)
5.编写函数,函数功能为判断正整数n是否为素数,若n为素数则返回1,否则返回0。
6.编写函数,统计字符串中数字字符的个数
7.编写函数实现对数组的前n个整数进行排序(7分)
8.输入10个字符串,找出其中最长的字符串。