C语言自测题三答案
13真题与答案 202403青少年软件编程(C语言)等级考试试卷(三级)

202403青少年软件编程(C语言)等级考试试卷(三级)分数:100分题数:51. 我家的门牌号我家住在一条短胡同里,这条胡同的门牌号从 1 开始顺序编号。
若所有的门牌号之和减去我家门牌号的两倍,恰好等于 n,求我家的门牌号及总共有多少家。
数据保证有唯一解。
时间限制:1000内存限制:65536输入一个正整数 n。
n < 100000。
输出一行,包含两个正整数,分别是我家的门牌号及总共有多少家,中间用单个空格隔开。
样例输入100样例输出10 15参考代码:#include <stdio.h>int main() {int n;scanf("%d", &n);int x, y;for (x = 1; x < n; x++) {for (y = x + 1; y < n; y++) {int sum = y * (y + 1) / 2 - x * 2;if (sum == n) {printf("%d %d\n", x, y);return 0;}}}return 0;}2. 最接近的分数分母不超过 N 且小于 A/B 的最大最简分数是多少?时间限制:10000内存限制:65536输入三个正整数 N,A,B,相邻两个数之间用单个空格隔开。
1 <= A < B <N <= 1000。
输出两个正整数,分别是所求分数的分子和分母,中间用单个空格隔开。
样例输入100 7 13样例输出50 93参考代码:#include <stdio.h>int gcd(int a, int b) {return b == 0? a : gcd(b, a % b);}int main() {int N, A, B;scanf("%d %d %d", &N, &A, &B);int numerator = 0, denominator = 1;for (int i = 2; i <= N; i++) {for (int j = 1; j < i; j++) {if ((double)j / i < (double)A / B && ((double)numerator / denominator < (double)j / i || (double)A / B - (double)j / i < (double)A / B - (double)numerator / denominator)) {numerator = j;denominator = i;}}}printf("%d %d\n", numerator, denominator);return 0;}3.菲波那契数列菲波那契数列是指这样的数列: 数列的第一个和第二个数都为 1,接下来每个数都等于前面 2 个数之和。
C语言程序设计自检自测题(三)及答案

《C++语言程序设计》自检自测题(三)及答案一、给出下列程序运行后的输出结果1.#include<>void main(){int s1=0,s2=0;for(int i=0;i<10;i++)if(i%2)s1+=i;else s2+=i;cout<<s1<<’’<<s2<<endl;}2.#include<>void main(){int a[8]={8,19,26,15,6,24,27,18};int i2=0,i3=0;for(int i=0;i<8;i++)if(a[i]%2==0)i2++;else if(a[i]%3==0)i3++;cout<<i2<<’’<<i3<<endl;}3.#include<>void main(){int a[3][4]={{1,2,7,8},{5,6,11,12},{9,20,3,4}};int m=a[0][0];int ii=0,jj=0;for(int i=0;i<3;i++)for(int j=0;j<4;j++)if(a[i][j]>m){m=a[i][j];ii=i;jj=j;}cout<<ii<<’’<<jj<<’’<<a[ii][jj]<<endl;}4.#include<>void main(){int a=10,b=15;cout<<a<<’’<<b<<endl;{a*=3;int b=a+20;cout<<a<<’’<<b<<endl;}cout<<a<<’’<<b<<endl;}5.#include<>void main(){int x=20,y=40,*p;p=&x;cout<<*p<<’’;*p=x+10;p=&y;cout<<*p<<endl;*p=y+20;cout<<x<<’’<<y<<endl;}6.#include<>void SB(char ch){switch(ch){case ’A’:case’a’:cout<<”well!”;break;case ’B’:case’b’:cout<<”good!”;break;case ’C’:case’c’:cout<<”pass!”;break;default:cout<<”bad!”;break;}cout<<endl;}void main(){char a[6]=”Abcaf”;for(int i=0;a[i];i++)SB(a[i]);}7.#include<>void main(){int a[8]={36,25,48,14,55,40,72,40}; int b1,b2;b1=b2=a[0];for(int i=1;i<8;i++)if(a[i]>b1){if(b1>b2)b2=b1;b1=a[i];}cout<<b1<<’’<<b2<<endl;}8.#include<>void main(){int a[8]={3,5,7,9,11,13,15,17}; int *p=1;for(int i=0;i<8;i++){cout<<setw(5)<<*p++;if((i+1)%3==0)cout<<endl;}}9.#include<>void LG(int* & a,int& m){a=new int [m];int *p=a;for(int i=0;i<m;i++)*p++=i*i;}void main(){int *b,n=5;LG(b,n);for(int i=0;i<n;i++)cout<<b[n-i-1]<<’’;cout<<endl;delete[]b;}10.#include<>#include<>struct Worker{char name[5];#include<>void main(){int s=0;for(int i=1;i<=5;i++)s+=i*i;cout<<”s=”<<s<<endl;}12.#include<>void main(){int s=0;for(int i=1;;i++){if(s>50)break;if(i%2==0)s+=i;}cout<<”i,s=”<<i<<”,”<<s<<endl;}13.#include<>int LB(int *a,int n){int s=1;for(int i=0;i<n;i++)s*=*a++;return s;}void main(){int a[]={1,2,3,4,5,6,7,8};cout<<LB(a,5)<<’’<<LB(&a[3],3)<<’’; cout<<LB(a+2,4)<<endl;}14.#include<>struct Worker{char name[15];#include<>bool SG(int x){ ame>>a[i].age>>a[i].pay; }4.#include<>#include<>void JD(char *fname)#include<>void WA(int a[],int n){for(int i=0;i<n-1;i++){int k=i;for(int j=i+1;j<n;j++)if(a[j]<a[k])k=j;int x=a[i];a[i]=a[k];a[k]=x;}}7.#include<>void LI(int n){int *a=new int[n];for(int i=0;i<n;i++)cin>>a[i];for(i=n-1;i>=0;i--)cout<<*(a+i)<<’’; cout<<’\n’;delete []a;}8.#include<>#include<>#include<>void JA(char *fname)int WC(int a[],int n,int k){int c=0;for(int i=0;i<n;i++)if(a[i]>=k)c++;return c;}10.#include<>int *LJ(int a[],int n){int k=0;for(int i=1;i<n;i++)if(a[i]>a[k])k=i;return &a[k];}11.#include<>#include<>#include<>int JB(char *fname,char *key)int FF(int a[],int n){if(n==1)return a[n-1]*a[n-1];else return a[n-1]*a[n-1]+FF(a,n-1); }3.void SelectSort(int a[],int n){int i,j,k;for(i=1;i<n;i++){k=i-1;for(j=i;j<n;j++)if(a[j]<a[k])k=j;int x=a[i-1];a[i-1]=a[k];a[k]=x; }}。
国家开放大学C语言程序设计章节测试参考答案

国家开放大学《C语言程序设计》章节测试参考答案第一章C语言概述自测练习一:C语言字符集自测练习1.在C语言字符集中,包含有全部26个英文大写字母和对应的小写字母。
(√)2.在C语言字符集中,一个大写英文字母和它的小写英文字母被视为不同的字符。
(√)3.在C语言程序中,ABC和abc被作为同一标识符使用。
(×)自测练习二:C语言字符集自测练习1.在C语言中,保留字是有专门含义和作用的,不能作为一般标识符使用。
(√)2.在C语言中,作为标识符的第一个字符只能是英文字母或下划线,不能是数字字符。
(√)3.C语言中使用的字符常量,其起止标记符是()。
a. 双引号b. 尖括号c. 单引号d. 中括号4.C语言中使用的字符串常量,其起止标记符是()。
a. 双引号b. 中括号c. 尖括号d. 单引号自测练习三:C语句分类自测练习1.在C语言中,一条简单语句的结束符是()。
a. 分号b. 空格c. 冒号d. 逗号2.在C语言中,每条复合语句的开始标记字符为()。
a. <b. [c. (d. {3.不符合C语言规定的复合语句是()。
a. {x=0;}b. {}c. {;}d. {y=10}4.C语言中的选择类语句有两条,它们是()。
a. else和caseb. if和switchc. if和elsed. switch和case自测练习四:函数分类与使用自测练习1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为()。
a. nameb. mainc. MAINd. function2.C语言程序中的基本功能模块为()。
a. 标识符b. 函数c. 表达式d. 语句3.一个函数定义所包含的两个部分是()。
a. 函数头和函数体b. 函数原型和函数体c. 函数名和参数表d. 函数头和函数尾4.一个程序文件开始使用的每条预处理命令,其首字符必须是()。
a. #b. @c. %d. $5.在一个程序文件中,若要使用#include命令包含一个系统头文件,则此头文件所使用的起止定界符为一对()。
c语言模拟试题3及答案

c语言模拟试题3及答案C语言模拟试题3及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的关键字?A. voidB. NULLC. intD. main2. 在C语言中,哪个运算符用于计算两个数的和?A. +B. -C. *D. /3. 在C语言中,以下哪个不是合法的变量名?A. myVariableB. 123VariableC. _myVariableD. variableName4. C语言中,哪个函数用于计算两个数的最大值?A. max()B. min()C. abs()D. pow()5. 在C语言中,以下哪个是正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello\nWorld"D. "Hello\World"6. 以下哪个语句在C语言中是正确的?A. if (x = 10)B. if (x == 10)C. if (x = 10) { x++; }D. if (x = 10) x++;7. C语言中,哪个语句用于输出数据到控制台?A. printf()B. scanf()C. coutD. print()8. 在C语言中,数组的索引是从哪个数字开始的?A. 0B. 1C. -1D. 任意数字9. 下列哪个是C语言中的控制结构?A. 循环B. 函数C. 数组D. 指针10. 在C语言中,以下哪个是正确的二维数组声明?A. int array[3][5];B. int array = 3[5];C. int array = 3 * 5;D. int array(3, 5);答案:1. A, C2. A3. B4. A5. A, C6. B7. A8. A9. A10. A二、填空题(每空2分,共20分)1. 在C语言中,______关键字用于声明一个函数。
C语言测试题

17. 用语句a=a+b,b=a-b,a=a-b;可以交换a,b两个变量的值。( )答案为√
18. 在C语言中,定义int a=b=c=5;是错0的,而int a,b,c; a=b=c=5;是的.( )答案为√
19. 表达式“5=3”是一个关系表达式,且其值为0。( )答案为×
b=x++;
c=y;
(A)a=9,b=9,c=9 (B)a=9,b=10,c=9 (C)a=1,b=11,c=10 (D)a=8,b=8,c=10
答案为D
5. 执行下面的程序段后,B的值为( )。
int x=35;
char z=''A'';
int B;
B=((x&15)&&(z<''a''));
(A) 0 (B) 1 (C) 2 (D) 3
答案为B
6. 表达式11&10的结果用二进制表示为( )。
A)11 B)3 C)1 D)10
答案为D
7. 设有语句int a=3;则执行语句a+=a-=a*a后,变量a的值是( )。
23. 设int x=3,y=2;表达式(y++==--x)?y++:x++的值是3。( )答案为√
24. 已知int a=5,b=5; 则表达式: ++a>b?a:b-->++a?++b:a的值为6。( )答案为√
25. 表达式~(~1<<3)的值是15。( )答案为√
C语言第三章在线测试题目及答案

第一题、单项选择题(每题1分,5道题共5分)?1、在C语言中,不正确的常量是:A、0xf6B、0876C、.5e-6D、+3e+2?2、要把高级语言编写的源程序转换为目标程序,需要使用:A、编辑程序B、驱动程序C、诊断程序D、编译程序?3、以下选项中,属于C语言的数据类型是:A、复数型B、逻辑型C、双精度型D、集合型?4、下列属于结构化算法基本结构的是()。
A、顺序结构,复合结构B、选择结构,嵌套结构C、顺序结构,循环结构D、复合结构,嵌套结构?5、调试C程序时正确的步骤应当是()。
A、编辑、编译、链接和运行B、编辑、链接、编译和运行C、链接、编辑、编译和运行D、编辑、链接、编译和运行第二题、多项选择题(每题2分,5道题共10分)?1、下列常数中能作为C的常量的是:A、0x4B、C、33D、03A?2、对于16位系统中,C语言中整数 -8在内存中的错误存储形式是:A、1111 1111 1111 1000B、1000 0000 0000 0000C、1000 0000 0000 1000D、1111 1111 1111 0111?3、下列关于C语言用户标识符的叙述中,不正确的叙述是:A、用户标识符中可以出现下划线和中划线(减号)B、用户标识符中不可以出现中划线,但可以出现下划线C、用户标识符中可以出现下划线,但不可以放在用户标识符的开头D、用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头?4、与汇编程序相比,C语言程序的优点包括( )。
A、更容易移植B、更容易阅读C、目标代码质量较高D、能够进行位操作?5、下列属于字符串的是( )A、“3 = y”B、“( x + y ) = 6”C、“y”D、“3”第三题、判断题(每题1分,5道题共5分)?1、在一个C程序中main函数必须出现在所有函数之前。
正确错误?2、一个C程序的执行是从main()函数开始,直到最后一个函数结束。
正确错误?3、int类型的数据范围不可能比float类型的大。
07真题与答案 202209青少年软件编程(C语言)等级考试试卷(三级)

202209青少年软件编程(C语言)等级考试试卷(三级)分数:100 题数:51.课程冲突小 A 修了 n 门课程, 第 i 门课程是从第 ai 天一直上到第 bi 天。
定义两门课程的冲突程度为 : 有几天是这两门课程都要上的。
例如 a1=1,b1=3,a2=2,b2=4 时, 这两门课的冲突程度为 2。
现在你需要求的是这 n 门课中冲突程度最大的两门课的冲突程度。
时间限制:1000内存限制:65536输入第一行一个正整数 n 表示课程数量。
接下来 n 行,每行两个正整数 ai,bi。
2 ≤ n≤1000, 1 ≤ ai ≤ bi ≤ 1000。
输出输出一个整数表示最大的冲突程度样例输入样例输出参考代码:#include <stdio.h>int maxConflict(int n, int a[], int b[]) {int maxConflict = 0;for (int i = 0; i < n; i++) {for (int j = i + 1; j < n; j++) {int conflict = 0;int start = a[i] > a[j]? a[i] : a[j];int end = b[i] < b[j]? b[i] : b[j];if (start <= end) {conflict = end - start + 1;}if (conflict > maxConflict) {maxConflict = conflict;}}}return maxConflict;}int main() {int n;scanf("%d", &n);int a[n], b[n];for (int i = 0; i < n; i++) {scanf("%d %d", &a[i], &b[i]);}printf("%d\n", maxConflict(n, a, b));return 0;}2.42点42是:·组合数学上的第5个卡特兰数·字符'*'的ASCII码·钼的原子序数·6与9的乘积结果的13进制表示·生命、宇宙以及任何事情的终极答案·以及……表达式(1+5)/2*(6-4)*7的值因此,小机器人Marvin发明了这个叫42点的小游戏。
C语言测试题(附有详细解析)

C语言测试题(附有详细解析)一、选择题1. 以下哪个选项是C语言的关键字?A. ifB. sizeofC. structD. include解析:C语言中,关键字是指被C语言本身定义的具有特定意义的单词。
选项A的`if`是关键字,用于条件判断;选项C的`struct`是关键字,用于定义结构体;选项D的`include`实际上是预处理指令的一部分,不属于关键字。
选项B的`sizeof`是运算符,用于计算数据类型或变量的大小。
因此,正确答案是A、C。
2. 在C语言中,以下哪个选项表示整型变量?A. charB. intC. floatD. double解析:在C语言中,`int`类型用于存储整数。
选项A 的`char`用于存储字符;选项C的`float`和选项D的`double`用于存储浮点数。
因此,正确答案是B。
3. 以下哪个选项表示逻辑运算符?A. `++`B. `--`C. `&&`D. `%`解析:逻辑运算符用于连接多个条件表达式,包括与运算符`&&`、或运算符`||`和非运算符`!`。
选项C的`&&`是逻辑与运算符。
选项A的`++`和选项B的`--`是算术运算符,用于自增和自减;选项D的`%`是取模运算符。
因此,正确答案是C。
二、填空题1. 在C语言中,定义一个整型变量`a`并赋值为10的代码是______。
解析:定义整型变量`a`并赋值为10的代码如下:```cint a = 10;```2. 以下代码的输出结果是______。
```c#include <stdio.h>int main() {int x = 5;printf("%d\n", x++ + ++x);return 0;}```解析:在C语言中,`x++`是先使用x的值,然后x自增1;`++x`是先x自增1,然后使用x的值。
因此,`x++ + ++x`的执行过程如下:- `x++`,此时x的值为5,输出5;- `++x`,此时x的值为6,输出6;- 最终输出结果为11。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
*****
{
*****
for (i=1; i<=n; i++)
printf (" ");
for (j=1; j<=5; j++)
printf("*");
printf("\n");
}
}
ቤተ መጻሕፍቲ ባይዱ
5、include “stdio.h”
int x,y;
void sw( )
运行时输
入:x=1,y=-9
{ int temp;
。
6、从键盘上输入字符串“HOW ARY YOU?”给字符数组a可以使用 gets
函数。
二、选择题
1、下列表达式正确的是( C )。
(A) (a+b)++
(B) 7++
(C) –i++
(D) (-k)++
2、读程序写出运行结果( D )。
#include"stdio.h"
main( )
{int i=0,j=0,k=0,m;
2、求n! ,即计算p=1×2×3×…×n的值。 main( ) { int i, n; long p;
p=1; printf("Enter n:"); scanf("%d",&n); for (i=1; i<=n; i++)
p = p * i; printf("p = %ld \n",p); }
3、判断输入的某个数m是否为素数。若是素数,输出“YES”,若不 是,输出“NO”。 #include "math.h" main( ) { int j,m,k;
35 42 49 { int n; for (n=1; n<=50; n++) if(n%7= =0) printf ("%d\t", n); printf ("\n"); }
4、main( ) 运行结果:*****
{
*****
int i,n,j,k;
*****
for (n=1; n<=5; n++)
3、已知 char str1[10],str2[10]={“books”};则在程序
中能将字符串“books”赋给数组str1的正确语句是(
A )。
(A) strcpy(str1,str2); (B) str1={“books”};
(C) strcpy(str2,str1);
(D) str1=str2;
C语言自测题(三)答案
一、填空题
1、C语言程序的基本单位是 函数
。
2、在程序运行过程中,其值不能改变的量称为 常量
。
3、当a=3,b=2,c=1时,表达式f=a>b>c的值是 0 。
4、a=3*5, 4*a表达式中,a的值是 15
,表达式的值是
60
。
5、在表达式x=(a>b)?a:b中若a=5; b=6; 则x的值是 6
for(m=0;m<4;m++)
switch(m)
{case 0 : i=m++;
case 1 : j=m++;
case 2 : k=m++;
case 3 : m++;
}
printf("\n%d,%d,%d,%d,",i,j,k,m);}
(A) 0,0,2,4 (B)0,1,2,3 (C)0,1,2,4 (D)0,1,2,5
运行结果:
x=-9,y=1
temp=x;x=y;y=temp;
}
main( )
{scanf(“x=%d,y=%d”,&x,&y);
sw( ); printf(“x=%d,y=%d”,x,y); }
四、程序填空
1、输入大写字母将其转换为小写字母输出 #include “stdio.h” main( ) { int c1, c2; c1=getchar ( );
{ k=k+1; _s=s*k__;}
printf(“n!=%f\n”,s);}
五、编程
1、编写程序,求100个自然数的和,即: s=1+2+3+ … +100。 main( ) { int i,sum;
i=1; sum=0;
while (i<=100) { sum=sum+i; i++; }
printf("sum=%d\n",sum); }
c2=c1+32 ; putchar (c2); } 2、计算并输出n! (阶乘)值 #include “stdio.h” main( ) { int n,k; double s; printf(“input n:”); scanf(“%d”,&n); k=1; _s=1.0____; while(k<n)
}
2、main ( ) 运行结果:c=12
{
int a, b, c;
a=12; b=15;
c=min (a, b);
printf("c=%d\n",c);
}
int min(x, y)
int x, y;
{
int z;
if (x<y) z=x;
else z=y;
return(z);
}
3、 main( ) 运行结果:7 14 21 28
printf("Enter an integer number: "); scanf("%d",&m); for (j=2; j<=m-1; j++)
if (m%j==0) break; printf("%d ",m); if (j>=m)
printf("YES\n"); else
printf("NO\n"); }
4、C语言中函数的返回值的类型是由( B )决定
(A)return语句中的表达式类型 (B) 定义函数时所定义的函
数类型
(C) 调用函数时临时
(D) 调用该函数的主调函
数类型
5、若要求在if后的一对圆括号中表示a不等于0的关系,则
能正确表示这
一关系的表达式为( D )。
(A) a<>0 (B) !a
(C) a=0
(D) a
三、读程序写出运行结果
1、#define PI 3.14 运行结果:r=2.000000
c=12.560000
s=12.560000
main ( )
{
float c,s,r;
r=2.0;
c=2*PI*r;
s=PI*r*r
printf("r=%f\t c=%f\t s=%f\n",r,c,s);