C语言 程序设计基础试题一及答案
2023年9月青少年软件编程C语言等级考试试卷一级真题(含答案)

2023年9月青少年软件编程C语言等级考试试卷一级(含答案)分数:100 题数:5一、编程题(共5题,共100分)第1题. 日期输出给定两个整数,表示一个日期的月和日。
请按照"MM-DD"的格式输出日期,即如果月和日不到2位时,填补0使得满足2位。
时间限制:10000内存限制:65536输入2个整数m,d(0 < m <= 12, 0 < d <= 31)。
数据保证日期合法。
输出按照题目要求输出日期样例输入7 18样例输出07-18 。
参考答案:。
第2题. 计算(a+b)*(c-b)的值给定3个整数a、b、c,计算表达式(a+b)*(c-b)的值。
时间限制:1000内存限制:65536输入输入仅一行,包括三个整数a、b、c, 数与数之间以一个空格分开。
(-10,000 < a,b,c < 10,000)输出输出一行,即表达式的值样例输入2 3 5样例输出10 。
参考答案:。
第3题. 有一门课不及格的学生给出一名学生的语文和数学成绩,判断他是否恰好有一门课不及格(成绩小于60分)。
时间限制:10000内存限制:65536输入一行,包含两个在0到100之间的整数,分别是该生的语文成绩和数学成绩。
输出若该生恰好有一门课不及格,输出1;否则输出0。
样例输入50 80样例输出1 。
参考答案:。
第4题. 特殊求和如果一个数能够被7整除或者十进制表示中含有数字7,那么我们称这个数为幻数,比如17,21,73是幻数,而6,59不是。
对于给定的N,求出1~N中所有幻数的和。
时间限制:1000内存限制:65536输入一个整数N(1 < N < 10000)。
输出一个整数,表示1~N中所有幻数的和。
样例输入14样例输出21 。
参考答案:。
第5题. 比n小的最大质数对于给定的n,求比n小的质数中最大的一个。
质数是指一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数。
2024年3月青少年软件编程C语言等级考试试卷一级真题及答案

2024年3月青少年软件编程C语言等级考试试卷一级真题(答案)分数:100 题数:5一、编程题(共5题,共100分)。
1.倒序输出。
依次输入4个整数a、b、c、d,将他们倒序输出,即依次输出d、c、b、a这4个数。
时间限制:1000。
内存限制:65536。
输入:一行4个整数a、b、c、d,以空格分隔。
0<a,b,c,d<108。
输出:一行4个整数d、c、b、a,整数之间以一个空格分隔。
样例输入:样例输出:参考答案:2.足球联赛积分。
在足球联赛里,一个球队赢下一场比赛得到3个积分,打平一场比赛得到1个积分,输掉比赛得到0分。
现已知一个球队在整个联赛里的比赛情况,求该球队最终的积分。
时间限制:1000。
内存限制:65536。
输入:三个整数x,y,z,以空格分开,分别表示这个球队赢下的比赛场数,打平的比赛场数,输掉的比赛场数。
(0≤x,y,z≤40)。
输出:一个整数,表示该球队最终的积分。
样例输入:样例输出:提示:63=19*3+6*1+4*0。
参考答案:3.苹果和虫子。
你买了一箱n个苹果,很不幸的是买完时箱子里混进了一条虫子。
虫子每x小时能吃掉一个苹果,假设虫子在吃完一个苹果之前不会吃另一个,那么经过y小时你还有多少个完整的苹果?时间限制:1000。
内存限制:65536。
输入:输入仅一行,包括n,x和y(均为整数)。
输出:输出也仅一行,剩下的苹果个数。
样例输入:样例输出:提示:是要求完整的苹果数。
参考答案:4.整数的个数。
给定k(1<k<100)个正整数,其中每个数都是大于等于1,小于等于10的数。
写程序计算给定的k个正整数中,1,5和10出现的次数。
时间限制:10000。
内存限制:65536。
输入:输入有两行:第一行包含一个正整数k,第二行包含k个正整数,每两个正整数用一个空格分开。
输出:输出有三行,第一行为1出现的次数,,第二行为5出现的次数,第三行为10出现的次数。
样例输入:样例输出:参考答案:5.求满足条件的3位数。
一级c语言等级考试试题及答案

一级c语言等级考试试题及答案一、选择题(每题2分,共40分)1. 下列哪个选项是C语言的关键字?A. intB. integerC. floatD. double答案:A2. C语言中,用于定义一个整型变量的关键字是?A. intB. floatC. charD. double答案:A3. 在C语言中,哪个运算符用于计算两个数的和?A. +B. -C. *D. /答案:A4. 如果变量x的值为10,那么表达式x++的结果是多少?A. 9B. 10C. 11D. 错误5. C语言中,用于定义一个字符型变量的关键字是?A. charB. stringC. intD. float答案:A6. 下列哪个选项是C语言中正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello\nWorld"D. 'Hello\nWorld'答案:A7. C语言中,用于定义一个浮点型变量的关键字是?A. intB. floatC. doubleD. char答案:B8. 在C语言中,哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C9. 如果变量x的值为5.5,那么表达式x++的结果是多少?B. 5.5C. 6.5D. 错误答案:C10. C语言中,用于定义一个双精度浮点型变量的关键字是?A. intB. floatC. doubleD. char答案:C11. 下列哪个选项是C语言中正确的注释方式?A. // This is a commentB. /* This is a comment */C. # This is a commentD. $ This is a comment答案:B12. C语言中,用于定义一个布尔型变量的关键字是?A. boolB. intC. floatD. char答案:A13. 在C语言中,哪个运算符用于计算两个数的差?A. +B. -C. *答案:B14. 如果变量x的值为20,那么表达式x--的结果是多少?A. 19B. 20C. 21D. 错误答案:A15. C语言中,用于定义一个无符号整型变量的关键字是?A. unsigned intB. signed intC. intD. float答案:A16. 下列哪个选项是C语言中正确的多行注释方式?A. // This is a commentB. /* This is a comment */C. # This is a commentD. $ This is a comment答案:B17. C语言中,用于定义一个有符号整型变量的关键字是?A. signed intB. unsigned intC. intD. float答案:C18. 在C语言中,哪个运算符用于计算两个数的除法?A. +B. -C. *D. /答案:D19. 如果变量x的值为3.14,那么表达式x--的结果是多少?A. 2.14B. 3.14C. 4.14D. 错误答案:A20. C语言中,用于定义一个长整型变量的关键字是?A. long intB. intC. short intD. float答案:A二、填空题(每题3分,共30分)1. 在C语言中,使用关键字________来定义一个整型数组。
c语言程序设计第一章试题及答案

c语言程序设计第一章试题及答案一、选择题(每题2分,共10分)1. C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项不是C语言中合法的变量名?A. _123abcB. intC. forD. myVar答案:C3. 在C语言中,用于声明一个整型变量的关键字是:A. intB. floatC. charD. double答案:A4. 下列哪个选项是C语言中的控制语句?A. printfB. scanfC. ifD. return答案:C5. C语言中,用于定义一个函数的关键字是:A. functionB. defC. voidD. int答案:D二、填空题(每题2分,共10分)1. C语言中,用于输入一个整数的函数是________。
答案:scanf2. 在C语言中,定义一个数组时,数组的下标从________开始。
答案:03. C语言中,用于输出一个浮点数的函数是________。
答案:printf4. C语言中,用于定义一个字符型变量的关键字是________。
答案:char5. C语言中,用于定义一个布尔型变量的关键字是________。
答案:_Bool 或 bool(根据标准不同)三、简答题(每题5分,共20分)1. 请简述C语言中变量的作用域有哪些?答案:变量的作用域主要有局部作用域和全局作用域。
局部作用域通常用于函数内部,变量只在该函数中有效;全局作用域用于函数外部,变量在整个程序中都有效。
2. 解释C语言中的指针是什么?答案:指针是一种特殊的变量,它存储了另一个变量的内存地址。
通过指针,程序可以间接访问和操作内存中的数据。
3. 什么是C语言中的函数原型?答案:函数原型是指函数的声明,它提供了函数的返回类型、函数名、参数类型和数量等信息,但不包含函数的具体实现。
4. 在C语言中,如何定义一个结构体?答案:定义一个结构体需要使用关键字`struct`,后跟结构体的名称,然后是一对花括号,其中包含了结构体成员的声明。
大一c 考试题及答案解析

大一c 考试题及答案解析大一C考试题及答案解析一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个函数?A. intB. whileC. returnD. void答案:D解析:在C语言中,`void`关键字用于定义一个函数,表示该函数不返回任何值。
2. 下列哪个选项是C语言中的合法标识符?A. 2variableB. intC. _variableD. variable-答案:C解析:C语言中的标识符可以由字母、数字和下划线组成,但不能以数字开头,也不能包含空格或特殊字符。
3. 以下哪个选项是C语言中的逻辑运算符?A. &&B. ||C. +=D. +=答案:A解析:`&&`是C语言中的逻辑与运算符,用于判断两个表达式是否同时为真。
4. C语言中,以下哪个选项是正确的字符串声明?A. char str[10] = "Hello";B. char str[10] = 'Hello';C. char str = "Hello";D. char str[10] = {"Hello"};答案:A解析:在C语言中,字符串应该使用字符数组来声明,并使用双引号来初始化。
5. 下列哪个选项是C语言中的循环结构?A. ifB. switchC. forD. break答案:C解析:`for`是C语言中的循环结构之一,用于重复执行一段代码。
6. C语言中,以下哪个选项是正确的二维数组声明?A. int arr[3][4];B. int arr[][] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};C. int arr[3][];D. int arr[3][4] = {1, 2, 3, 4, 5, 6, 7, 8};答案:A解析:在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语言考试题及答案一、选择题(每题2分,共10分)1. C语言中,用于定义变量的关键字是:A. varB. intC. letD. define答案:B2. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. #variableD. variable$答案:B3. 在C语言中,以下哪个选项是正确的整型常量表示?A. 0x1AB. 0x1aC. 0X1AD. 0x1A.0答案:C4. C语言中,用于计算两个整数相加的运算符是:A. +B. -C. *D. /答案:A5. 若有定义 int a=10;,则执行语句 a+=a-=a*a; 后,变量a的值是:A. 0B. 10C. 40D. 90答案:A二、填空题(每题3分,共15分)1. C语言标准库函数_________()用于计算并返回当前时间。
答案:time2. 在C语言中,字符'A'的ASCII码值是_________。
答案:653. 若定义一个整型数组int arr[5] = {1, 2, 3, 4, 5};,则arr[0]的值是_________。
答案:14. C语言中,使用_________运算符可以计算两个数的乘积。
答案:*5. 在C语言中,若要声明一个指向整型的指针变量,应使用关键字_________。
答案:int *三、简答题(每题5分,共10分)1. 简述C语言中函数声明和函数定义的区别。
答案:函数声明提供了函数的接口信息,包括函数名、返回类型和参数类型,但不包含函数体。
函数定义则包含了函数的完整实现,包括函数体。
2. 描述C语言中结构体(struct)的基本用途。
答案:结构体用于将多个不同类型的数据项组合成一个单一的数据结构,以表示复杂的数据类型,如记录或对象。
四、编程题(每题10分,共20分)1. 编写一个C语言程序,计算并输出100以内所有奇数的和。
答案:```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i += 2) {sum += i;}printf("The sum of odd numbers from 1 to 100 is: %d\n", sum);return 0;}```2. 编写一个C语言函数,实现字符串的反转。
C语言 程序设计基础试题一及答案

《程序设计基础》考试试卷一班级姓名学号____________一、选择题(20分)1.算法具有五个特性,以下选项中不属于算法特性的是(A)有穷性(B)简洁性(C)可行性(D)确定性2.以下选项中可作为C语言合法常量的是(A)-80. (B)-080 (C) (D)3.以下叙述中正确的是(A)用C语言实现的算法必须要有输入和输出操作(B)用C语言实现的算法可以没有输出但必须要有输入(C)用C程序实现的算法可以没有输入但必须要有输出(D)用C程序实现的算法可以既没有输入也没有输出4.以下不能定义为用户标识符是(A)Main (B) _0 (C) _int (D) sizeof5.以下选项中,不能作为合法常量的是(A) (B) (C)+4 (D)6.数字字符0的ASCII值为48,若有以下程序main(){char a='1',b='2';printf("%c,",b++);printf("%d\n",b-a);} 程序运行后的输出结果是(A)3,2 (B)50,2 (C)2,2 (D)2,507.有以下程序main(){int m=12,n=34;printf("%d%d",m++,++n); printf("%d%d\n",n++,++m);}程序运行后的输出结果是(A) (B) (C) (D)8.有以下语句:int b;char c[10];,则正确的输入语句是A)scanf("%d%s",&b,&c); B) scanf("%d%s",&b,c);(C)scanf("%d%s",b,c); D)scanf("%d%s",b,&c);9.有以下程序main(){int m,n,p;scanf("m=%dn=%dp=%d",&m,&n,&p);printf("%d%d%d\n",m,n,p); } 若想从键盘上输入数据,使变量M中的值为123,N中的值为456,P中的值为789,则正确的输入是A)m=123n=456p=789 B)m=123 n=456 p=789 C)m=123,n=456,p=789 D)123 456 78910.有以下程序main(){int a,b,d=25;a=d/10%9;b=a&&(-1);printf("%d,%d\n",a,b); }程序运行后的输出结果是A)6,1 B)2,1 C)6,0 D)2,011.有以下程序main(){int i=1,j=2,k=3;if(i++==1&&(++j==3||k++==3))printf("%d %d %d\n",i,j,k);}程序运行后的输出结果是(A)1 2 3 (B)2 3 4 (C)2 2 3 (D)2 3 312.若整型变量a、b、c、d中的值依次为:1、4、3、2。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
}
4、#include <stdio.h>
int func(int x){
if(x= =1)
return 2;
else
return x*func(x-1);
}
voidmain(){
printf(“%d\n”,func(4));
}
三、找出下列程序存在的错误,并进行改正,使之能正确运行。(20分)
{ int i,j,t;
for(i=0;i<N;i++)
for(j=0;_______;j++)
{ t=a[i][j];
_________;
a[j][i]=t; }}
五、编程题。要求给出PAD图或者N-S图(30分)
1、设计一个C程序,输入三个学生的成绩,求其平均成绩。
2、某百货公司为了促销,采用购物打折的优惠办法。每位顾客一次购物:
g=a+b+c+d-e-f;
printf("%d,%d,%d\n",e,f,g);}程序运行后的输出结果是
A)4,3,7B)3,4,7C)5,2,7D)2,5,7
17.已有定义:char a[]="xyz",b[]={'x','y','z'};,以下叙述中正确的是C
A)数组a和b的长度相同B)a数组长度小于b数组长度
int a,b,d=25;
a=d/10%9;b=a&&(-1);
printf("%d,%d\n",a,b); }
程序运行后的输出结果是
A)6,1B)2,1C)6,0D)2,0
11.有以下程序
main(){
int i=1,j=2,k=3;
if(i++==1&&(++j==3||k++==3))
printf("%d %d %d\n",i,j,k);}程序运行后的输出结果是
scanf(“%f”,&Total);
if (Total>5000) Rate=0.8;
while(i++<7) if(p[i]%2) j+=p[i];
printf("%d\n",j);}程序运行后的输出结果是
A) 42B) 45C) 56D) 60
14.有以下程序
main(){
char a[7]="a0\0a0\0"; int i,j;
i=sizeof(a); j=strlen(a);
①在1000元以上者,按九五折优惠;
②在2000元以上者,按九折优惠;
③在3000元以上者,按八五折优惠;
④在5000元以上者,按八折优惠。
编写程序,输入购物款数,计算并输出优惠价。
3、编写一个C的递归程序,求解如下函数: 。
《程序设计基础》试卷一参考答案
一、选择题。(每空1分,共20分)
BACDB CABAB DABCB ACDDC
#define N 10
float fun(int *a,int *b,int n){
int *c,max=*a;
for(c=a+1;c<a+n;c++)
if(*c>max) {
max=*c;
*b=c-a;
return max;
}
voidmain(){
int a[N],i,max,p=0;
printf("please enter 10 integers:\n");
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;
printf("\n");}}
2、下面rotate函数的功能是:将n行n列的矩阵A转置为A’,
例如:
123415913
5678261014
当A=910 11 12则A’=3 7 11 15
1314 15 164 8 12 16
请填空
#define N 4
void rotate(int a[][N])
#include <stdio.h>
#include <math.h>
void main(){
int a[10],i;
float sum;
for (i=0;i<10;i++)
scanf(“%d”,&a[i]);
i=0;
while (i<=9)){
sum+=sqrt(a[i]);
i++;
}
}
3、在一个一维整型数组中找出其中最大的数及其下标。
C)a数组长度大于b数组长度D)上述说法都不对
18.有以下程序
void f(int *x,int *y){
int t;
t=*x;*x=*y;*y=t;}
main(){
int a[8]={1,2,3,4,5,6,7,8},i,*p,*q;
p=a;q=&a[7];
while(p){f(p,q);p++;q--;}
int i;
for (i=0;i<3;i++){
scanf(“%d”,&score[i]);
sum+=score[i];
}
printf(“%d”,sum/3.0);
}
2、#include <stdio.h>(该程序15分,PAD图或者N-S图8分。)
void main(){
float Total, Rate,FactTotal;
3、int fun(int *a,int *b,int n)
4、ch=’a’;
四、程序填空题(每个5分,共10分)
1、2*i-1
2、j<=Ia[i][j]=a[j][i];
五、编程题
1、#include <stdio.h>(该程序5分,PAD图或者N-S图3分。)
void main(){
float score[3],sum=0;
3.以下叙述中正确的是
(A)用C语言实现的算法必须要有输入和输出操作
(B)用C语言实现的算法可以没有输出但必须要有输入
(C)用C程序实现的算法可以没有输入但必须要有输出
(D)用C程序实现的算法可以既没有输入也没有输出
4.以下不能定义为用户标识符是
(A)Main (B) _0 (C) _int (D) sizeof
}
四、程序填空题:填空空白语句,使程序能完成预定功能。(10分)
1、下面程序的功能是输出以下形式的金字塔图案是:
*
***
*****
*******
voidmain( )
{ int i,j;
for(i=1;i<=4;i++)
{ for(j=1;j<=4-i;j++) printf(" ");
for(j=1;j<=_______;j++) printf("*");
(A)1 2 3(B)2 3 4(C)2 2 3(D)2 3 3
12.若整型变量a、b、c、d中的值依次为:1、4、3、2。则条件表达式a<b?a:c<d?c:d的值
A)1 B)2 c)3 D)4
13.有以下程序
main(){
int p[8]={11,12,13,14,15,16,17,18},i=0,j=0;
1、以下程序的功能是:给r输入数据后计算半径为r的圆面积s。
#include <stdio.h>
#define PI 3.1415926
void main(){
int r;
float s;
scanf("%d",&r);
s=PI*r^2;
printf("s=%f\n",s);
}
2、以下程序用于计算一个一维数组各元素平方根的和。
二、程序阅读题(每个5分,共20分)
1、1
2、passwarn
3、5
4、48
三、程序改错题(每个5分,共20分)
1、第一个错误:宏定义后边的分号去掉。
第二个错误:s=PI*r**2应为s=PI*r*r。
2、第一个错误:sum未赋初值,应加入:sum=0;
第二个错误:while循环的条件应改为:!(i= =9)或者(i<=9)或者(i<10)。
16.有以下程序
int f1(int x,int y){return x>y?x:y;}
int f2(int x,int y){return x>y?y:x;}
main(){
int a=4,b=3,c=5,d=2,e,f,g;
e=f2(f1(a,b),f1(c,d)); f=f1(f2(a,b),f2(c,d));