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。
C语言练习题-第三章参考答案(已勘误)
C语言练习题-第三章参考答案(已勘误)C语言练习题---第三章1、有以下程序#include<stdio.h>main(){short c=124;c=c_______;printf(“%d\n”,C);}若要使程序的运行结果为248,应在下划线处填入的是A)>>2 B)|248 C)&0248 D)<<12、以下程序运行后的输出结果是2008。
#include<stdio.h>main(){int a=200,b=010;printf(”%d%d\n”,a,b);}3、有以下程序#include<stdio.h>main(){int x,y;Scanf(“%2d%ld”,&x,&y);printf(“%d\n”,x+y);}程序运行时输入:程序的运行结果是34579。
4、有以下程序#includeVoid main(){char a,b,c,d;scanf(”%c%c”,&a,&b);c=getchar(); d=getchar();printf(”%c%c%c%c\n”,a,b,c,d);}当执行程序时,按下列方式输入数据(从第一列开始,代表回车,注意:回车是一个字符)1234则输出结果是:()A、1234B、12C、12D、123 345、有以下程序,其中k的初值为八进制数#includemain(){int k=011;printf(”%d\n”,k++);}程序运行后的输出结果是D(A)12 (B)11 (C)10 (D)96、有以下程序(暂不做)#includevoid fun (char*c,int d){*c=*c+1;d=d+1;printf(”%c,%c,”,*c,d);}main(){char b=’a’,a=’A’;fun(&b,a); printf(”%c,%c\n”,b,a);}程序运行后的输出结果是AA)b,B,b,A B)b,B,B,A C)a,B,B,a D)a,B,a,B7、以下程序#include#define SUB(a) (a)-(a)main(){int a=2,b=3,c=5,d;d=SUB(a+b)*c;printf(”%d\n”,d);}程序运行后的结果是CA)0 B)-12 C)-20 D)108、有以下程序#includemain(){int a=2,b=2,c=2;printf(”%d\n”,a/b&c);}程序运行后的结果是CA)0 B)1 C)2 D)39、将值为三位正整数的变量x中的数值按照个位、十位、百位的顺序拆分并输出。
c语言考试题及答案
c语言考试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,错误的是:A. C语言是一种高级语言B. C语言可以直接被计算机执行C. C语言具有结构化的特点D. C语言具有跨平台的特性答案:B2. C语言中,用于定义一个整型变量的关键字是:A. intB. floatC. doubleD. char答案:A3. 在C语言中,以下哪个运算符用于取模运算?A. %B. /C. *D. -答案:A4. 下列关于数组的描述中,正确的是:A. 数组必须在程序开始时初始化B. 数组的元素可以是不同的数据类型C. 数组的索引从1开始D. 数组的声明必须指定数组的大小答案:D5. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. functionD. define答案:B6. C语言中,用于表示逻辑“与”操作的运算符是:A. &&B. ||C. !D. &答案:A7. 下列哪个选项是C语言中合法的注释?A. // 这是一个注释B. /* 这是一个注释 */C. // 这是一个注释/* 这是一个注释 */D. /* 这是一个注释 */答案:A8. C语言中,用于定义一个空指针的值是:A. NULLB. 0C. falseD. none答案:A9. 下列关于指针的描述中,错误的是:A. 指针可以存储变量的地址B. 指针可以存储函数的地址C. 指针可以存储数组的索引D. 指针可以存储指针的地址答案:C10. 在C语言中,用于定义一个字符型指针的声明是:A. char *ptr;B. int *ptr;C. float *ptr;D. double *ptr;答案:A二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型数组的语法是:______ int array[10];。
答案:int2. 如果一个变量的值是10,那么表达式sizeof(&var)的结果是:______。
新编C语言程序设计教程练习三参考答案
练习三3.1把下面的代数式改写成c 语言表达式: (1) ax 3+bx 2+d (2) ab-cd2a (3)ac b a(4) cos60°+ 8e y(5) 12 (ax+sin π) 答案:(1) a * x * x * x + b * x * x + d (2)(a * b – c * d) / (2 * a) (3)a /(b + c / a)(4)cos(3.1415926/180 * 60) + 8 * pow(e, y),其中cos 和pow 为库函数,注意:cos 函数的参数为弧度。
(5)1/2.0*(a * x + sin(3.1415926)),其中sin 为库函数,注意不能写成1/2*(a * x + sin(3.1415926)),可参考3.3。
3.2把下面的C 语言表达式还原成代数式:(1) a/b/c*e*3 (2) exp(x*x/2)/sqrt(2*sin(30*3.1415926/180)) (3) sqrt(fabs(pow(x,y)+log(y))) (4) a*e/c/b*3 答案: (1)e bca 3或bc ae3(2)30sin 222x e(3)y x y ln (4)e bca 3或bc ae 33.3求表达式1/2*(a*x+(b+x)/(4*a))的值。
答:1/2的值为0,故整个表达式的值为0。
3.4参考表3-1,根据操作符的优先级和结合性用加括号方式确定表达式的求值顺序,如a += a+2的求值顺序可用加括号的方式表示为(a += (a+2))。
(1) flag & n != 0 (2) c = getchar( ) != '\n' (3) hi << 4 + low (4) *p[3] (5) *p++(6) 0 < n < q (7) !x || y++ (8) x + y > 0 && i++ < 0 答:(1) (flag & (n != 0)) (2) (c = (getchar( ) != '\n')) (3) (hi << (4 + low)) (4) (*(p[3])) (5) (*(p++)) (6) ((0 < n) < q) (7) ((!x) || (y++))(8) (((x + y) > 0) && ((i++) < 0)) 3.5试总结C 语言操作符优先级的规律。
2023年9月青少年软件编程C语言等级考试试卷三级真题(含答案)
2023年9月青少年软件编程C语言等级考试试卷三级(含答案)分数:100题数:5一、编程题(共5题,共100分)第1题.谁是你的潜在朋友“臭味相投”——这是我们描述朋友时喜欢用的词汇。
两个人是朋友通常意味着他们存在着许多共同的兴趣。
然而作为一个宅男,你发现自己与他人相互了解的机会并不太多。
幸运的是,你意外得到了一份北大图书馆的图书借阅记录,于是你挑灯熬夜地编程,想从中发现潜在的朋友。
首先你对借阅记录进行了一番整理,把N个读者依次编号为1,2,…,N,把M本书依次编号为1,2,…,M。
同时,按照“臭味相投”的原则,和你喜欢读同一本书的人,就是你的潜在朋友。
你现在的任务是从这份借阅记录中计算出每个人有几个潜在朋友。
时间限制:1000内存限制:65536输入第一行两个整数N,M,2<=N,M<=200。
接下来有N行,第i(i=1,2,…,N)行每一行有一个数,表示读者i-1最喜欢的图书的编号P(1<=P<=M)输出包括N行,每行一个数,第i行的数表示读者i有几个潜在朋友。
如果i和任何人都没有共同喜欢的书,则输出“BeiJu”(即悲剧,^^)样例输入452321样例输出1BeiJu1BeiJu参考答案:#include<iostream>using namespace std;int a[10000],ans,c;int main(){int n,m;cin>>n>>m;for(int i=1;i<=n;i++){cin>>a[i];}for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){if(a[i]==a[j]){ans++;}}if(ans>1){cout<<ans-1<<endl;}else{cout<<"BeiJu"<<endl;}ans=0;}return0;}第2题.课程冲突小A修了n门课程,第i门课程是从第ai天一直上到第bi天。
三级c语言机试题及答案
三级c语言机试题及答案三级C语言机试题及答案1. 以下哪个选项是C语言中正确的注释方式?A. // 这是注释B. /* 这是注释 */C. //这是注释D. /*这是注释*/答案:A2. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A3. 以下哪个选项是C语言中正确的字符串声明方式?A. char str[] = "Hello World";B. char str[] = 'Hello World';C. char str[] = {"Hello World"};D. char str[] = "Hello World";答案:A4. 在C语言中,以下哪个函数用于将字符串转换成浮点数?A. atoi()B. atof()C. itoa()D. sprintf()答案:B5. 以下哪个选项是C语言中正确的数组初始化方式?A. int arr[5] = {0, 1, 2, 3, 4};B. int arr[5] = {0};C. int arr[5] = {0, 1, 2};D. int arr[5] = {0, 1, 2, 3};答案:A6. 在C语言中,以下哪个关键字用于声明一个函数?A. functionB. defC. funcD. int答案:D7. 以下哪个选项是C语言中正确的文件包含指令?A. #include "stdio.h"B. include "stdio.h"C. #import "stdio.h"D. #include <stdio.h>答案:D8. 在C语言中,以下哪个运算符用于执行按位与操作?A. &&B. &&C. &D. ||答案:C9. 以下哪个选项是C语言中正确的单行if语句?A. if (x > y) x = y;B. if (x > y) { x = y; }C. if (x > y) x = y; else y = x;D. if (x > y) { x = y; } else { y = x; }答案:A10. 在C语言中,以下哪个关键字用于声明一个指针?A. pointerB. ptrC. *D. ref答案:C。
C语言程序设计--自测题(三)
D、文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件
26、以下叙述中正确的是______。
A、C程序中注释部分可以出现在程序中任意合适的地方
B、花括号"{"和"}"只能作为函数体的定界符
C、构成C程序的基本单位是函数,所有函数名都可以由用户命名
r=fun(fun(x,y),2*z);
printf("%d/n",r);
}
程序运行后的输出结果是______。
A、3
B、6
C、8
D、12
32、有以下程序段
main()
{ int a=5,*b,**c;
c=&b; b=&a;
……
A、if (c<a) x=1;
else if (b<a) x=2;
else x=3;
B、if (a<3) x=3;
else if (a<2) x=2;
else x=1;
C、if (a<3) x=3;
if (a<2) x=2;
if (a<1) x=1;
30、以下选项中可作为C语言合法整数的是______。
A、10110B
B、0386
C、0Xffa
D、x2a2
31、有以下程序
fun(int a, int b)
{ if(a>b) return(a);
C语言自测题参考答案
自测题1一、单项选择题(2*20=40分)1.C语言中下列叙述正确的是____________。
DA、不能使用do-while语句构成的循环B、do-while语句构成的循环,必须用break语句才能退出C、do-while语句构成的循环,当while语句中的表达式值为非零时结束循环D、do-while语句构成的循环,当while语句中的表达式值为零时结束循环2.以下选项中,能定义s为合法的结构体变量的是____________。
BA、typedefstructabc {double a;char b[10];} s;B、structabc{double a;char b[10];}s;C、struct ABC {double a;char b[10];};ABC s;D、typedef ABC{double a;char b[10];};ABC s;3.若x和y都是int型变量,x=3、y=200,则语句printf("%c",y/x);输出结果是__________。
AA、BB、66C、66.6D、输出格式符不够,输出不确定的值4.请选出可用作C语言用户标识符的一组标识符____________。
B①void ②a3_b3 ③For ④2adefine _123 _abc DOWORD IF case sizeofA、①B、②C、③D、④5.设ch是char型变量,其值为字母A,下面的表达式的值是____________。
Bch=(ch>='A'&&ch<='Z')?(ch+32):chA、AB、aC、ZD、z6.已知a为int类型的一维数组,p为整型的指针变量,其定义如下:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则语句printf("%d\n",*(p+2));的输出结果是____________。
(完整版)C语言考试题库及答案
(完整版)C语言考试题库及答案一、选择题1. 以下哪个选项是C语言的合法标识符?A. intB. 2abcC. voidD. a+b答案:C2. 在C语言中,下列哪个选项是正确的数据类型?A. floatB. integerC. doubleD. All of the above答案:D3. 若变量定义如下:int a = 5;,则执行语句printf("%d", a++); 后,a的值是多少?A. 4B. 5C. 6D. 无法确定答案:C4. 以下哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()答案:A5. 在C语言中,哪个运算符用于取模(取余)?A. %B. /C. &D. |答案:A以下是判断题部分:6. C语言中的数组名可以作为指向该数组首元素的指针使用。
()答案:正确7. 在C语言中,结构体变量可以作为函数的参数传递。
()答案:正确8. 在C语言中,静态存储类别的变量在程序运行期间始终占据内存空间。
()答案:正确二、填空题9. 在C语言中,定义一个整型变量需要使用关键字______。
答案:int10. 若变量定义如下:int a = 10;,则执行语句printf("%d", a--); 后,a的值是______。
答案:911. 在C语言中,用于动态分配内存的函数是______。
答案:malloc12. 在C语言中,用于释放动态分配的内存的函数是______。
答案:free13. 在C语言中,用于清空标准输入缓冲区的函数是______。
答案:getchar()三、编程题14. 编写一个C语言程序,实现以下功能:输入一个整数,输出它的阶乘。
答案:```c#include <stdio.h>int main() {int n, i;long factorial = 1;printf("Enter an integer: ");scanf("%d", &n);if (n < 0) {printf("Factorial of a negative number doesn't exist.\n");} else {for (i = 1; i <= n; i++) {factorial = i;}printf("Factorial of %d is %ld\n", n, factorial);}return 0;}```15. 编写一个C语言程序,实现以下功能:输入一个字符串,判断它是否是回文(正读和反读都一样的字符串)。
电子科技大学《C语言》自测题答案
自测题1答案一、填空题(每空1分,共29分)1、若有以下的定义:int a [6];则数组a元素的下标的上限为 5 ,下限为 0 。
2、局部的变量是在函数内部定义的,它们只在本函数有效。
3、组成C程序的若干函数中,只能且必须有一个主函数。
4、C语言中的变量名可以由字母,数字和下划线三种字符组成,且首字符不能是。
5、枚举类型enum color (bla,blu,gre=3,cya,red)中的枚举项的值bla=__0__、blu=__1__、cya=__4__、red=__5___.6、c语言中变量的存储属性有自动、____静态____、__外部______和寄存器四种。
7、算术运算符,关系运算符,赋值运算符的优先级从低到高依次是赋值运算符,关系运算符,算术运算符。
8、标准文件是系统自动打开和关闭的,但是一般用户文件,必须在程序中用函数_fopen( )_打开文件,文件操作结束后,用__fclose( )_关闭文件。
9、函数参数有形式参数和实际参数两种形式。
10、程序的三种基本结构是顺序结构,选择结构,循环结构。
11、x、y、z均为int型变量,请写出描述“x或y中有一个小于z”的表达式__x<z||y<z_。
12、下面程序的运行结果是: c1=c,c2=abc# include <>main( ){char s[10]={“abc”};printf(“c1=%c,c2=%s\n”,s[2],s);}13、如果a=5,b=2,c=3,d=4,则表达式a<ba:c<dc:d的值是 3 。
14、设a=6,b=2,表达式a*=a+b运算后a的值为 48 。
15、设x=.,a=9,y=,表达式x+a%2*(int)(x+y)%2/4的值。
二、选择题(每小题2分,共26分)1、一个C程序的执行是从 AA)本程序的main函数开始,到main函数结束。
B)本程序的第一个函数开始,到本程序最后一个函数结束。
C语言自测题及答案
C语⾔⾃测题及答案⾃测题⼀、选择题:1.以下叙述中正确的是()。
A)C语⾔⽐其他语⾔⾼级 B)C语⾔可以不⽤编译就能被计算机识别执⾏C)C是近英语的⾃然语⾔和数学语⾔为语⾔的表达形式 D)C语⾔出现最晚,具有其他语⾔的⼀切优点2.以下叙述中不正确的是()。
A)⼀个C源程序可由⼀个或多个函数组成 B)⼀个C源程序必须包含⼀个main函数C)函数是C程序的基本组成单位 D)分号是C语句之间的分隔符,不是语句的⼀部分3.算法具有五个特性,以下不属于算法特性的是()。
A)有穷性 B)简洁性 C)可⾏性 D)确定性4.以下()组中的标识符都是合法的⽤户标识符。
A)3ab,A_10,st B)class,λ1,grade C)printf,INT,char1 D)b3,a,unsigned5.C语⾔中的基本数据类型包括()。
A)整型、实型(浮点型)、逻辑型 B)整型、实型(浮点型)、字符型C)整型、字符型、逻辑型 D)字符型、实型(浮点型)、逻辑型6.以下选项中,均是合法整型常量的选项是()。
A)123,Oxffff,0123 B)Oxabc,018,0x123 C)Ola,123, 012,Oxef D)Ox22b,3e5,0167.若有定义:float a=3.0,b=4.0,c=5.0;则表达式1/2*(a+b+c)的值为()。
A)6.0 B)6 C)0.0 D)⽆答案8.若有定义和语句:int s,p;s=p=5;p=s++;则执⾏语句后 p的值是()。
A)0 B)5 C)7 D)69.以下选项中,与k=n++完全等价的表达式(即执⾏后k,n及表达式的值完全相同)是()。
A) k=n, n=n+l B)n=n+1,k=n C)k=++n D)k+=n+110.以下程序的输出结果是()。
#includevoid main(){int a=20,b=10;printf("%d,%%d\n",a+b,a-b);}A) 30,%d B)30,10 C)30,%10 D)以上答案均不正确11.下列程序的运⾏结果是()。
c语言第三章题库及详解答案
c语言第三章题库及详解答案1. 以下哪个是C语言中的合法标识符?A. 3variableB. variable3C. _variableD. variable#答案:B, C2. C语言中,哪个关键字用于定义变量的存储类型?A. staticB. registerC. autoD. all of the above答案:D3. 以下哪个语句可以正确声明一个整型变量?A. int var;B. var int;C. int var=;D. int = var;答案:A4. 在C语言中,哪个运算符用于计算两个数的乘积?A. *B. /C. +D. -答案:A5. 以下哪个表达式的结果是非零的?A. 5 % 3B. 5 / 3C. 5 + 3D. 5 - 3答案:A6. 以下哪个选项是C语言中的逻辑运算符?A. &&B. ||C. !D. all of the above答案:D7. C语言中,哪个关键字用于定义函数?A. functionB. defC. voidD. int答案:D8. 以下哪个是C语言中的条件语句?A. ifB. switchC. caseD. default答案:A9. 在C语言中,哪个关键字用于实现循环?A. whileB. doC. forD. all of the above答案:D10. 以下哪个是C语言中的数组声明?A. int array[10];B. int [10] array;C. both A and BD. neither A nor B答案:C11. C语言中,哪个函数用于输入?A. printf()B. scanf()C. getchar()D. gets()答案:B12. 以下哪个是C语言中的字符串常量?A. "Hello World"B. 'Hello World'C. hello worldD. Hello World答案:A13. 在C语言中,哪个函数用于输出?A. printf()B. scanf()C. puts()D. sprintf()答案:A14. 以下哪个是C语言中的递归函数调用?A. func();B. func(func());C. func(1);D. func(func);答案:B15. C语言中,哪个关键字用于定义结构体?A. structB. unionC. enumD. typedef答案:A16. 以下哪个是C语言中的位运算符?A. &B. |C. ^D. all of the above答案:D17. 在C语言中,哪个关键字用于定义枚举类型?A. enumB. structC. unionD. typedef答案:A18. 以下哪个是C语言中的指针变量?A. int *ptr;B. int ptr;C. ptr int;D. int (*ptr)();答案:A19. C语言中,哪个函数用于计算数组的长度?A. sizeof()B. length()C. size()D. count()答案:A20. 在C语言中,哪个关键字用于定义联合体?A. unionB. structC. enumD. typedef问题及答案到此结束。
- 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);