1以下为一维整型数组a的正确说明是(
C语言期末考试复习题及答案3
C语言期末考试复习题及答案一、选择题:下列各题A)、B)、C)、D)四个选项中只有一个是正确的,请将正确的选项涂写在答案纸上.答在试卷上不得分。
(1)C语言规定:在一个源程序中,main函数的位置.A)必须在最后B)必须在系统调用的库函数的后面。
C)必须在最开始.。
D)可以任意(2) C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符。
A)必须为字母或下划线.。
B)必须为下划线。
C)必须为字母D)可以是字母、数字和下划线中的任一种字符。
(3)下面四个选项中,均是正确的八进制数或十六进制数的选项是。
A)—10 0x8f —011 B) 010 -0x11 0xf1C) 0abc —017 0xc D) 0a12 —0x123 -0xa(4) C语言中int型数据在内存中占两个字节,则unsegned int取值范围是.A)0 ~ 65535 B)0 ~ 32767C)—32767 ~ 32768 D)—32768 ~ 327687(5) 若有定义:int a = 7; floa x = 2。
5 , y = 4.7 ;则表达式x + a % 3 * (int)(x + y)% 2/4 的值是.A)2。
750000 B)0.00000 C)3。
500000 D)2。
500000 (6)已知ch是字符型变量,下面不正确的赋值语句是。
A)ch = 5 + 9 ; B) ch= ' a + b ';C) ch = ' \ 0 ’;D)ch= ’7’ + ’6';(7) 设x ,y和z是int型变量,且x = 3, y = 4 , z = 5 则下面表达式中值为0的是。
A)!((x < y )&&!z || 1)B)' x ' &&’ y ’C)x || y+z && y — z D)x 〈= y(8)设有程序段int k = 10 ;while ( k = 0 ) k = k — 1 ;以下描述正确的是.A)循环体语句一次也不执行。
郑州航空工业管理学院往年计算机C语言测试卷及答案
计算机C语言测试卷得分评卷人一、单项选择题(共20题,每题2分,共计40分)()1、若变量a、i已正确定义,且i已正确赋值合法的语句是________。
A、a==1B、++iC、a=a++=5D、a=int(i)()2、执行下列语句后,i和n的值为________。
int i=10; int n=i++%5;A、10,OB、10,1C、11,0D、11,1()3、若有定义char w; int x; float y; double z; 则表达式w*x+z-y值的数据类型为 。A、floatB、charC、intD、double()4、c语言对嵌套if语句的规定是:else总是与( ) 。A、其之前最近的if配对B、其之前最近的且尚未配对的if配对C、缩进位置相同的if配对D、第一个if配对()5、语句 for(k=0;k<5;++k){if(k== 3) continue;printf("%d",k);}的输出结果为______A、012B、0124C、01234D、没有输出结果()6、以下函数按每行8个输出数组中的数据void fun( int *w, int n){int i;for(i=0;i<n;i++){________ printf("%d",w[i]);}printf("\n");}下列划线处应填入的语句是________。
A、if(i/8==0)printf(“\n”);B、if(i/8==0)continue;C、if(i%8==0)printf(“\n”);D、if(i%8==0)continue;()7、下列数中为八进制的是______。
A、27B、0x25C、026D、028()8、若有定义:int c[4][5],(*cp)[5]; 和语句cp=c; ,则能正确引用c数组元素的是________。
A、cp+1B、*(cp+3)C、*(cp+1)+3D、*(*cp+2)()9、若已有定义语句:inta,b, c; 且变量已正确赋初值,则以下选项中正确的赋值语句是________。
C语言程序设计第六章数组习题及答案
1.以下对一维整型数组a的定义,正确的是_。
(2分)A.int a(10) ;B.int n = 10 , a[n] ;C.int n ;scanf( "%d" , &n ) ;int a[n] ;D.int a[10] ;2.若有定义:int a[10] ;,则对a数组元素的正确引用是_。
(2分)A.a[10]B.a[3.5]C.a(5)D.a[10-10]3.对定义int a[10] = {6 , 7 , 8 , 9 , 10} ; 的正确理解是_。
(2分)A.将5个初值依次赋给a[1]--a[5]B.将5个初值依次赋给a[0]--a[4]C.将5个初值依次赋给a[6]--a[10]D.因为数组长度与初值个数不相同,所以此语句不正确4..若有定义:int a[3][4]; , 则对a数组元素的正确引用是_。
(2分)A.a[3][4]B.a[1,3]C.a[1+1][0]D.a(2)(1)5.以下对二维数组a初始化正确的语句是_。
(2分)A.int a[2][ ]={{0 , 1 , 2}, {3 , 4 , 5}};B.int a[ ][3]={{0, 1, 2}, {3, 4, 5}};C.int a[2][4]={{0, 1 , 2}, {3 , 4}, {5}};D.int a[ ][3]={{0, 1, 2}, { }, {3, 4}};6.对二维数组a进行如下初始化:int a[ ][3]={0 , 1 , 2 , 3 , 4 , 5};则a[1][1]的值是_。
(2分)A.0B.3C.4D.17.下面程序段的运行结果是_。
(2分)#include<stdio.h>int main( ){int i , x[3][3] = {1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9} ;for( i = 0 ; i < 3 ; i++ )printf( "%2d" , x[i][2-i] ) ;return 0 ;}A.1 5 9B.1 4 7C.3 5 7D.3 6 98.以下对数组s的初始化,错误的是_。
C++数组题及答案
【题1】在C ++语言中,引用数组元素时,其数组下标的数据类型允许是:A)整型常量B)整型表达式C)整型常量或整型表达式D)任何类型的表达式【题2】以下对一维整型数组a 的正确说明是:A)int a(10);B)int n=10,a[n];C)int n;cin>>n;int a[n];•#define SIZE 10int a[SIZE];【题3】若有说明:int a[10];则对a 数组元素的正确引用是:A)a[10]B)a[3.5]C)a(5)D)a[10-10]【题4】在C++语言中,一维数组的定义方式为:类型说明符数组名______; A)[整型常量表达式]B)[整型表达式]C)[整型常量] 或[整型表达式]D)[常量]【题5】以下能对一维数组a 进行正确初始化的语句是:A)int a[10]=(0,0,0,0,0);B)int a[10]={};C)int a[]={0};D)int a[10]=”10*1”;【题6】以下对二维数组a 的正确说明是:A)int a[3][];B)float a(3,4);C)double a[1][4];D)float a(3)(4);【题7】若有说明:int a[3][4];则对a 数组元素的正确引用是:A)a[2][4]B)a[1,3]C)a[1+1][0]D)a(2)(1)【题8】若有说明:int a[3][4];则对a 数组元素的非法引用是:A)a[0][2*1]B)a[1][3]C)a[4-2][0]D)a[0][4]【题9】以下能对二维数组a 进行正确初始化的语句是:A)int a[2][]={{1,0,1},{5,2,3}};B)int a[][3]={{1,2,3},{4,5,6}};C)int a[2][4]={{1,2,3},{4,5},{6}};D)int a[][3]={{1,0,1},{},{1,1}};【题10】以下不能对二维数组a 进行正确初始化的语句是:A)int a[2][3]={0};B)int a[][3]={{1,2},{0}};C)int a[2][3]={{1,2},{3,4},{5,6}};D)int a[][3]={1,2,3,4,5,6}【题11】若有说明:int a[3][4]={0};则下面正确的叙述是:A)只有元素a[0][0]可得到初值0B)此说明语句不正确C)数组a 中各元素都可得到初值,但其值不一定为0D)数组a 中每个元素均可得到初值0【题12】若有说明:int a[][4]={0,0};则下面不正确的叙述是:A)数组a 的每个元素都可得到初值0B)二维数组a 的第一维大小为1C)因为二维数组a 中第二维大小的值除以初值个数的商为1,故数组a 的行数为1 D)只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0【题13】若有说明:int a[3][4];则数组a 中各元素:。
C语言习题选2
第一章、 数组一.选择题 1.若有语句int a[8];则下述对 a 的描述正确的是( A )。
(A )定义了一个名称为a 的一维整型数组,共有8个元素 (B )定义了一个数组a ,数组a 共有9个元素 (C )说明数组a 的第8个元素为整型变量 (D )以上可选答案都不对 2.在C 语言中,引用数组元素时,其数组下标的数据类型允许是( C )。
(A )整型常量 (B )整型表达式 (C )整型常量或整型表达式 (D )任何类型的表达式 3.下述对C 语言字符数组的描述正确的是( A )。
(A )任何一维数组的名称都是该数组存储单元的开始地址,且其每个元素按照顺序连续占用存储空间 (B )一维数组的元素在引用时其下标大小没有限制 (C )任何一个一维数组的元素,可以根据内存的情况按照其先后顺序以连续或非连续的方式占用存储空间 (D )一维数组的第一个元素是其下标为1的元素 4.下述对C 语言字符数组的描述中正确的是(B )。
(A )任何一个一维数组的元素在引用时,其下标可以是整型、实型或字符型常量 (B )一维数组的元素实质上就是一个变量,代表内存中的一个存储单元 (C )如果要引用数组中的每一个元素,则直接使用该数组名称即可? (D )以上都不对 5.以下对一维整型数组a 的正确说明是(D )。
(A )int a(10); (B)int n=10,a[n]; (C) int n; scanf(“%d ”,&n);int a[n]; (D) #define SIZE 10 int a[SIZE]; 6.以下能对一维数组a 进行正确初始化的语句是( C )B? (A )int a[10]=(0,0,0,0,0);(B )int a[10]={};(C )int a[]={0};(D )int a[10]=(10*1); 7.若有说明:int a[3][4];则对a 数组元素的正确引用是( C ) (A )a[2][4] (B )a[1,3] (C )a[1+1][0] (D )a(2)(1) 8.以下能对二维数组a 进行正确初始化的语句是(B ) (A )int a[2][]={{1,0,1},{5,2,3}};(B )int a[][3]={{1,2,3},{4,5,6}}; (C )int a[2][4]={{1,2,3},{4,5},{6}};(D )int a[][3]={{1,0,1}{},{1,1}}; 9.若有说明:int a[3][4]={0};则下面正确的叙述是( D ) (A )只有元素a[0][0]可得到初值0(B )此说明语句不正确 (C )数组a 中各元素都可得到初值,但其值不一定为0 (D )数组a 中每个元素均可得到初值0 10.以下各组选项中,均能正确定义二维实型数组a 的选项是( C ) (A )float a[3][4]; float a[][4]; float a[3][]={{1},{0}}; (B )float a(3,4); float a[3][4]; float a[][]={{0};{0}}; (C )float a[3][4]; static float a[][4]={{0},{0}}; (D )float a[3][4]; float a[3][]; 11.若二维数组a 有m 列,则计算任一元素a[i][j]在数组中位置的公式为( D ) (假设a[0][0]位于数组的第一个位置上。
2022年湖南艺术职业学院公共课《C语言》科目期末试卷A(有答案)
2022年湖南艺术职业学院公共课《C语言》科目期末试卷A(有答案)一、填空题1、在C语言中,输入操作是由库函数________完成的,输出操作是由库函数________完成的。
2、执行下面程序段后,k的值是_______。
k=1;n=263;do{k*=n%10;n/=10;} while(n);3、下面add函数的功能是求两个参数的和,并将和值返回调用函数。
函数中错误的部分是_______,改正后为_______。
void add(float a,float b){float c;c=a+b;return c;}4、为建立如图10-5所示的存储结构(即每个结点两个域,data是数据域,next是指向结点的指针域),请将定义补充完整。
struct s{char data;_______}node;5、假设变量a和b均为整型,以下语句可以不借助任何变量把a、b中的值进行交换。
请填空。
a+=_______;b=a-_______;a-=_______;6、在C语言中的实型变量分为两种类型,它们是_______和_______。
7、下面程序wdm的运行结果是_______。
int i,x[10]={2,3,0,3,0,2,3,2,1,3},y[4]={0};for(i=0;i<10;i++)y[x[i]]++;printf("%d\n",y[3]);8、当运行以下程序时,从键盘输入book<回车>book囗<回车>(囗表示空格),则下面程序段的运行结果是_______。
char al[80],a2[80],*sl=al,*s2=a2;gets(s1);gets(s2);if(!strcmp(sl,s2))printf("x");else printf("#");printf("%d",strlen(strcat(sl,s2))}9、函数process是一个可对两个整型数a和b进行计算的通用函数;函数max()可求这两个数中的较大者,函数min()可求它们中的较小者。
C语言习题集合4(数组)
第四部分数组4.1 选择题1。
以下关于数组的描述正确的是( ).A. 数组的大小是固定的,但可以有不同的类型的数组元素B. 数组的大小是可变的,但所有数组元素的类型必须相同C。
数组的大小是固定的,所有数组元素的类型必须相同D. 数组的大小是可变的,可以有不同的类型的数组元素2. 以下对一维整型数组a的正确说明是( )。
A.int a(10);B. int n=10,a[n];C。
int n; D。
#define SIZE 10scanf("%d",&n); int a[SIZE];int a[n];3。
在C语言中,引用数组元素时,其数组下标的数据类型允许是( )。
A。
整型常量B. 整型表达式C. 整型常量或整型表达式D。
任何类型的表达式4。
以下对一维数组m进行正确初始化的是( )。
A. int m[10]=(0,0,0,0);B. int m[10]={ };C。
int m[ ]={0}; D。
int m[10]={10*2};5。
若有定义:int bb[ 8];。
则以下表达式中不能代表数组元bb[1]的地址的是( )。
A. &bb[0]+1 B。
&bb[1] C. &bb[0]++ D. bb+16。
假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是( ).A。
3 B。
6 C。
10 D. 207. 若有以下说明:int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};char c='a’,d,g;则数值为4的表达式是( )A。
a[g—c] B。
a[4] C。
a['d'—’c'] D. a['d'-c]8。
以下程序段给数组所有的元素输入数据,请选择正确答案填入( )。
#include〈stdio。
h〉main(){int a[10],i=0;while(i〈10) scanf(”%d",________ );┇}A。
C语言-基本选择题及答案
计算机程序设计基础(C语言)单项选择练习题说明:带*号的对非信息学院的同学不作要求。
、基本概念1. C语言程序是由C构成的A) 一些可执行语言B)main函数C)函数D)包含文件中的第一个函数2. ( A )是构成C语言程序的基本单位。
A、函数B 、过程C 、子程序D、子例程3. C语言程序从____ C________ 开始执行A) 程序中第一条可执行语句B)程序中第一个函数C)程序中的main函数D)包含文件中的第一个函数4. C语言程序从main()函数开始执行,所以这个函数要写在_D_,A) 程序文件的开始B) 程序文件的最后C)它所调用的函数的前面D) 程序文件的任何位置5. 以下说法中正确的是(C )。
A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main()函数中定义C、C语言程序总是从main()函数开始执行D、C语言程序中的main()函数必须放在程序的开始部分6. 下列方法中错误的是(D )。
A. 主函数可以分为两个部分:主函数说明部分和主函数体B. 主函数可以调用任何非主函数的其它函数。
C. 任何非主函数可以调用其它任何非主函数D. 程序可以从任何非主函数开始执行7. 下列说法错误的是:(B )A. C程序运行步骤是编辑、编译、连接、执行B. C语言的变量名必须用小写,常量用大写。
C. C语言的三种基本结构是顺序、选择、循环。
D. C程序一定由函数构成的。
8. 下列关于C语言的说法错误的是(B )oAC程序的工作过程是编辑、编译、连接、运行B) C语言不区分大小写。
C) C程序的三种基本结构是顺序、选择、循环D) C程序从main函数开始执行9. 系统默认的C语言源程序扩展名为.C,需经过_C —之后,生成.exe文件, 才能运行?A)编辑?编译B )编辑?连接C)编译?连接D)编辑?改错*10.下列说法中正确的是(B )oA. 由于C源程序是高级语言程序,因此一定要在TC软件中输入。
电子科大10秋学期《C语言》在线作业答案(一,二,三)
二、多选题(共5道试题,共10分。)
V
1.以下关于C源程序文件的说法中正确的是(BD)
A.是一种二进制文件
B.是一种文本(ASCII码)文件
C.可以用DOS的type命令显示其内容
D.文件扩展名一般为c
满分:2分
2.以下数据类型在内存中占用4个字节的是(BC)
A. int
B. unsigned long
A. if(x>y && x!=y);
B. if(x= =y) x+=y;
C. if(x != y) scanf("%d",&x ) else scanf("%d",&y);
D. if(x<y) {x++;y++;}
满分:2分
7.以下对一维整型数组a的正确说明是(D)
A. int a(10)
B. int n=10,a[n];
C. char<int<1ongint=float=double
D. char=int=1ong int<=float<double
满分:2分
18.下面程序段的循环次数是(B)
int k=2;
while(k==0) printf(″%d″,k);
k--;
printf(″\n″);
A. 0次
B. 1次
A.是死循环
B.循环执行二次
C.循环执行一次
D.有语法错误
满分:2分
21.结构化程序设计所规定的三种基本结构是(C)
A.主程序、子程序、函数
B.树形、网形、环形
C.顺序、选择、循环
广技师C语言复习题5.-练习(数组)(有标准答案)
一、选择题1. 以下对一维整型数组a的正确说明是。
A.int a(10);B.intn=10, a[n];C.int n;scanf(“%d",&n);int a[n];D.#defineSIZE10int a[SIZE]2. 若有说明:int a[10];,则对a数组元素的正确引用是. A.a[10] B.a[3。
5] C.a(5) D.a[10-10]4. 以下对二维数组a的正确说明是。
A.int a[3][]; B.float a(3,4);C.double a[][4];D.floata(3)(4);5.若有说明:int a[3][4];则对a数组元素的正确引用是。
A.a[3][4] B.a[1,3]C.a[1+1][0]D.a(2)(1) 6. 以下能对二维数组a进行正确初始化的语句是。
A.inta[2][ ]={{1,0, 1}, {5, 2, 3}};B.int a[ ][3]={{1,2,3},{4,5,6}};C.int a[2][4]={{1,2,3},{4,5},{6}};D.int a[][3]={{1,0,1,0},{ },{1,1}};7. 下面程序段(每行代码前面的数字表示行号)。
1 inta[3]={3*0};2int i3 for(i=0;i〈3; i++) scanf(“%d”,&a[i]);4for(i=1;i〈3;i++) a[0]=a[0]+a[i];5 printf(“%d\n”,a[0]);A.第1行有错误 B.第5行有错误C.第3行有错误D.没有错误8.若有定义floatx[4]={1.3, 2.4,5。
6},y=6;则错误的语句是。
A.y=x[3]; B.y=x+1; C.y=x[2]+1D.x[0]=y; 9。
定义如下变量和数组:int k;int a[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是。
C语言各章节复习题(带答案) 2
一、C语言概述练习题选择1.一个C程序的执行是从。
A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序文件的第一个函数开始,到本程序main函数结束D) 本程序的main函数开始,到本程序文件的最后一个函数结束2.以下叙述不正确的是。
A) 一个C源程序必须包含一个main函数 B)一个C源程序可由一个或多个函数组成C) C程序的基本组成单位是函数 D) 在C程序中,注释说明只能位于一条语句的后面3.以下叙述正确的是。
A) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误B) 在C程序中,main函数必须位于程序的最前面C) C语言本身没有输入输出语句 D) C程序的每行中只能写一条语句4.一个C语言程序是由。
A)一个主程序和若干个子程序组成B) 函数组成 C) 若干过程组成 D) 若干子程序组成5.计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是。
A) C语言程序仅可以编译执行B) C语言程序仅可以解释执行C) C语言程序既可以编译执行又可以解释执行D) 以上说法都不对6.以下叙述中错误的是。
A) C语言的可执行程序是由一系列机器指令构成的B)用C语言编写的源程序不能直接在计算机上运行C)通过编译得到的二进制目标程序需要连接才可以运行D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件7.以下叙述正确的是。
A) C语言程序是由过程和函数组成的B) C语言函数可以嵌套调用,例如:fun(fun(x))C) C语言函数不可以单独编译 D) C语言中除了main函数,其他函数不可作为单独文件形式存在二、数据类型、运算符与表达式选择.1.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为x=(i=4,j=16,k=32) A) 4 B) 16 C) 32D) 522.下列四组选项中,均不是C语言关键字的选项是。
电子科技大学22春“计算机应用技术”《C语言》作业考核题库高频考点版(参考答案)试题号5
电子科技大学22春“计算机应用技术”《C语言》作业考核题库高频考点版(参考答案)一.综合考核(共50题)1.函数即可以嵌套定义,又可以嵌套调用。
()A.正确B.错误参考答案:B2.以下正确的描述是()。
A.函数的定义和函数的调用均可以嵌套B.函数的定义和函数的调用均不可以嵌套C.函数的定义可以嵌套,但函数的调用不可以嵌套D.函数的定义不可以嵌套,但函数的调用可以嵌套参考答案:D3.已有定义int a=-2;和输出语句:printf("%8lx",a);以下正确的叙述是()。
A.%8lx不是错误的格式符,其中数字8规定了输出字段的宽度B.%x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的C.%x是格式符的一种,它可以适用于任何一种类型的数据D.整型变量的输出格式符只有%d一种参考答案:A4.下面函数调用语句含有实参的个数为()。
func((exp1,exp2),(exp3,exp4,exp5));A.1B.2C.4D.55.若有如下语句:int x=3; do { printf(" %d\n",x-=2);} while(!(--x));则上面程序段()。
A.输出的是3和0B.输出的是1和-2C.输出的是1D.是死循环参考答案:B6.下面程序的功能是用递归法将一个整数存放到一个字符数组中。
存放时按逆序存放。
如483存放成"下面程序的功能是用递归法将一个整数存放到一个字符数组中。
存放时按逆序存放。
如483存放成"384",请选择填空()。
#include void convert(char*a,int n) {int i; if((i=n/10)!=0) convert(a+1,i); *a= 【2】; } main() {int number; char str[10]=" "; scanf("%d",&number); convert(str,number);A.n/10+'0'B.n/10C.n%10+'0'D.n%10参考答案:C7.在定义函数时,函数的存储类型可以()。
C试题-在c语言中文,一维数组的定义方式为:类型
C试题一、选择题:1、以下对一维整型数组a的正确说明是A int a(10);B int n=10,a[n];C int n;D #define SIZE 10scanf(“%d”,&n);int a[SIZE];int [a];2、若有说明:int a[10];则对a数组元素的正确引用是A a[10]B a[3.5]C a (5)D a [10-10]3、在c语言中文,一维数组的定义方式为:类型说明符数组名A[常量表达式] B[整型表达式]C[整型常量]或[整型表达式]D[整型常量]4、以下能对二维数组a进行正确初始化的语句是A int a[2][]={{1,0,1},{5,2,3}};B int a[][3]={{1,2,3},{4,5,6}};C int a[2][4]={{1,2,3},{4,5},{6}}D int a[][3]={{1,0,1},{},{1,1}};5、若有说明:int a[3][4]={0};则下面正确的叙述是A只有元素a[0][0]可得到初值0B 此说明语句不正确C 数组a中文各元素都可得到初值,但其值不一定为0D 数组a 中每个元素均可得到初值06、以下各组选项中,均能正确定义二维实型数组a的选项是A float a[3][4];B float a(3,4);float a[] [4]; float a[3][4];float a[3][]={{1},{0}} float a[][]={{0},{0}};C float a[3][4];D float a[3][4];static float a[][4]={{0},{0}}; float a [3][];auto float a [][4]={{0},{0},{0}}; float a[][4]10、下面程序中文有错误的行是(每行程序前面的数字表示行号)1 main()2 {3 int a[3]={1};4 int i;5 scanf(“%d”,&a);6 for (i=1;i<3;i++) a[0]=a[0]+a[i];7 printf(“a[0]=%d\n”,a[0]);8 }A 3B 6C 7D 511、若二维数组a有m列,则计算机任一元素a[i][j]在数组中文位置的公式为(假设a[0][0]位于数组的第一个位置上。
1以下为一维整型数组a的正确说明是(
A.if(s1>s2)B.if(strcmp(s1,s2))
C.if(strcmp(s2,s1)>0)D.if(strcmp(s1,s2)>0)
【答案】D。
【说明】两个字符串的大小比较应使用strcmp函数,且比较是自左至右逐个字符比较的,因此只有选项D正确。其他选项均不对。
9.下面程序的功能是从键盘输入一行字符,统计其中有多少个单词,单词之间用空格分隔,请选择填空()。
#include <stdio.h>
main()
{ char s[80],c1,c2=' ';
int i=0,num=0;
gets(s);
while(s[i]!='\0')
{ c1=s[i];
if(i==0)c2=' ';
}while(y>=1);
for(j=i-1;j>=0;j--)
printf("%d",a[j]);
}
【答案】10010
【说明】注意运算符“/”的两个运算数如果是整数,那么商取整数;运算符“%”是取余。
7.下面程序用插入法对数组a进行降序排序,请填空。
main()
{ int a[5]={4,7,2,5,1},i,j,m;
一、选择题
1.以下为一维整型数组a的正确说明是()。
A.int a(10);B.int n=10,a[n];
C.int n;D.#define SIZE 10;
scanf("%d",&n);int a[SIZE];
int a[n];
【答案】D
C++数组题及答案
【题1】在C ++语言中,引用数组元素时,其数组下标的数据类型允许是:A)整型常量B)整型表达式C)整型常量或整型表达式D)任何类型的表达式【题2】以下对一维整型数组a 的正确说明是:A)int a(10);B)int n=10,a[n];C)int n;cin>>n;int a[n];•#define SIZE 10int a[SIZE];【题3】若有说明:int a[10];则对a 数组元素的正确引用是:A)a[10]B)a[3.5]C)a(5)D)a[10-10]【题4】在C++语言中,一维数组的定义方式为:类型说明符数组名______; A)[整型常量表达式]B)[整型表达式]C)[整型常量] 或[整型表达式]D)[常量]【题5】以下能对一维数组a 进行正确初始化的语句是:A)int a[10]=(0,0,0,0,0);B)int a[10]={};C)int a[]={0};D)int a[10]=”10*1”;【题6】以下对二维数组a 的正确说明是:A)int a[3][];B)float a(3,4);C)double a[1][4];D)float a(3)(4);【题7】若有说明:int a[3][4];则对a 数组元素的正确引用是:A)a[2][4]B)a[1,3]C)a[1+1][0]D)a(2)(1)【题8】若有说明:int a[3][4];则对a 数组元素的非法引用是:A)a[0][2*1]B)a[1][3]C)a[4-2][0]D)a[0][4]【题9】以下能对二维数组a 进行正确初始化的语句是:A)int a[2][]={{1,0,1},{5,2,3}};B)int a[][3]={{1,2,3},{4,5,6}};C)int a[2][4]={{1,2,3},{4,5},{6}};D)int a[][3]={{1,0,1},{},{1,1}};【题10】以下不能对二维数组a 进行正确初始化的语句是:A)int a[2][3]={0};B)int a[][3]={{1,2},{0}};C)int a[2][3]={{1,2},{3,4},{5,6}};D)int a[][3]={1,2,3,4,5,6}【题11】若有说明:int a[3][4]={0};则下面正确的叙述是:A)只有元素a[0][0]可得到初值0B)此说明语句不正确C)数组a 中各元素都可得到初值,但其值不一定为0D)数组a 中每个元素均可得到初值0【题12】若有说明:int a[][4]={0,0};则下面不正确的叙述是:A)数组a 的每个元素都可得到初值0B)二维数组a 的第一维大小为1C)因为二维数组a 中第二维大小的值除以初值个数的商为1,故数组a 的行数为1 D)只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0【题13】若有说明:int a[3][4];则数组a 中各元素:。
2022年南京工业职业技术大学公共课《C语言》科目期末试卷A(有答案)
2022年南京工业职业技术大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、若x=0123,则表达式(5+(int)(x))&(~2)的值是_______。
2、结构化程序由________、________ 、________ 3种基本结构组成。
3、一个C语言源程序由若干函数组成,其中至少应含有一个________4、若x和n均是int型变量,且x和n的初值均为5,则执行表达式x+=n++后x的值为_______,n的值为_______。
5、若有定义语句:int b=7;float a=2.5,c=4.7;则表达式a+(int)(b/3*(int)(a+c)/2)%4的值为_______6、若有定义:int a[]={2,4,6,8,10,12,14,16,18,20,22,24},*q[3],k;则下面程序段的输出是_______。
for(k=0;k<3;k++)q[k]=8.a[k*4];printf("%d\n",q[2][3]);7、下面程序段的运行结果是_______。
x=2;do{printf("*");x--;)while(!x==0);8、执行以下程序时,若从第一列开始输入数据,为使变量a=3、b=7、x=8.5、y=71.82、c1='A'、c2='a',正确的数据输入形式是_______。
#include <stdio.h>int main(){int a,b;float x,y;char cl,c2;scanf("a=%d b=%d",&.a,&.b);scanf("x=%f y=%",8.x,8.y);scanf("c1=%cc2=%c”,8.cl,8.c2);printf("a=%d,b=%d,x=%f,y=%f,cl=%c,c2=%c",a,b,x,y,cl,c2);return0;}9、已有定义int a;float b,x;char cl,c2;为使a=3、b=6.5、x=12.6、cl='a'、c2='A',正确的scanf函数调用语句是_______,数据输入的形式应为_______。
东北大学22春“计算机科学与技术”《高级语言程序设计基础》作业考核题库高频考点版(参考答案)试题号5
东北大学22春“计算机科学与技术”《高级语言程序设计基础》作业考核题库高频考点版(参考答案)一.综合考核(共50题)1.设a、b、c、d均是int类型变量,为了使以下程序段的输出为:1234+123+12+1,正确的输入形式应当是( )。
scanf("%4d+%3d+%2d+%1d",&a,&b,&c,&d);printf("%4d+%3d+%2d+%1d",a, b, c, d);A.1234123412341234B.1234123121C.1234+1234+1234+1234D.1234+123+12+1参考答案:D2.以下正确的函数形式是()。
A.double fun1(int x, int y) { z=x+y; return z; }B.fun1(int x, y){ int z;return z; }C.fun1(x, y) { int x, y; double z;z=x+y;return z; }D.double fun1(int x, int y){ double z;z=x+y; return z; }"参考答案:D3.若有定义:int x[10], *p=x;,则*(p+5)表示( )。
A.选项内容11B.选项内容11C.选项内容11D.数组元素x[6]的地址E.数组元素x[6]的值F.数组元素x[5]的地址G.数组元素x[5]的值参考答案:G4.定义如下变量和数组:int k; int a[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是( )。
for(k=0;kA.3 6 9B.3 5 7C.1 5 9D.1 4 7参考答案:B5.如下程序()。
main( ) { int x1=3, x2=0, x3=0; if (x1=x2+x3) printf("* * * *"); else printf("# # # #"); }A.输出:* * * *B.输出:# # #C.#存在语法错误D.无输出结果参考答案:B6.以下能正确读入字符串的程序段是()。
2022年宿迁学院公共课《C语言》科目期末试卷A(有答案)
2022年宿迁学院公共课《C语言》科目期末试卷A(有答案)一、填空题1、若x=0123,则表达式(5+(int)(x))&(~2)的值是_______。
2、C语言的源程序必须通过【】和【】后,才能被计算机执行。
3、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是4、若有定义语句:inte=1,f=4,g=2;float m=10.5,n=4.0,k;,则执行表达式k=(e+f)/g+sqrt((double)n)*1.2/g+m后k的值是_______。
5、若有定义语句:ints=6;则表达式s%2+(s+1)%2的值为_______6、以下程序段通过指针变量q,但不移动q,将如图所示连续动态存储单元的值,从第一个元素起依次输出到终端屏幕。
请填空。
(假设程序段中的所有变量均已正确说明。
)for(k=0;k<10;k++) printf("%d,",_______); printf("\n");7、鸡兔共有30只,脚共有90只,下面程序段是计算鸡兔各有多少只。
请填空。
for(x=0;x<=30;x++){y=30一x;if(_______)printf("%d,%d\n",x,y);}8、若有以下定义和语句,为使变量c1得到字符’A',变量c2得到字符’B’,正确的输入形式是_______。
char cl,c2;scanf("%4c%4c",&cl,8&c2);9、执行以下程序时,若从第一列开始输入数据,为使变量a=3、b=7、x=8.5、y=71.82、c1='A'、c2='a',正确的数据输入形式是_______。
#include <stdio.h>int main(){int a,b;float x,y;char cl,c2;scanf("a=%d b=%d",&.a,&.b);scanf("x=%f y=%",8.x,8.y);scanf("c1=%cc2=%c”,8.cl,8.c2);printf("a=%d,b=%d,x=%f,y=%f,cl=%c,c2=%c",a,b,x,y,cl,c2);return0;}10、下面程序段的运行结果是_______。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
main()
{char str[80],i,j,
gets(str);
for(i=0, j=strlen(str);i<j;i++,j--)
{ k=str[j];str[j]=str[i];str[i]=k;}
puts(str);
}
【答案】k-1
【说明】变量k要先说明,j在循环开始时要指向最后一个字符,因此是字符串的长度减1。
}
2.将输入的n个整数从小到大排序输出,再求出此n个整数中所有奇数以及所有素数的个数。
【分析】该题采用了选择法排序;所谓奇数是指不能被2整除的数;所谓素数m,是指m除1以外,不能被任何数整除,数学证明也可表述为不能被2~sqrt(m)中的任一个数整除。
【源程序】(含运行结果)
#include<math.h>
}
putchar('#');
}Байду номын сангаас
}
【答案】#&*&%
【说明】(1)要注意continue与break语句的作用;(2)C语言中的多分支switch语句,“case常量表达式”只起语句标号的作用,不作判断,当找到入口标号后,就一直往下执行,除非遇上break语句。
10.下面函数的功能是将一个字符串str的内容颠倒过来。
{t=a[i];a[i]=a[j];a[j]=t;}
for(i=0;i<n;i++)
{ if(a[i]%2==0) continue;
{ int a[N],i;
for(i=0;i<N;i++)scanf("%d",&a[i]);
for(i=0;i<N;i++)
{if()printf("\n");
printf("%3d",a[i]);
}
printf("\n");
}
【答案】i%4==0
【说明】由题意可知,每输出4个数,程序自动换行。
5.下面程序可求出矩阵a的主对角线上的元素之和,请填空。
8.判断字符串s1是否大于字符串s2,应当使用()。
A.if(s1>s2)B.if(strcmp(s1,s2))
C.if(strcmp(s2,s1)>0)D.if(strcmp(s1,s2)>0)
【答案】D。
【说明】两个字符串的大小比较应使用strcmp函数,且比较是自左至右逐个字符比较的,因此只有选项D正确。其他选项均不对。
10.下面程序的运行结果是()。
#include <stdio.h>
main()
{ char str[]="SSSWLIA",c;
int k;
for(k=2;(c=str[k])!= '\0';k++)
{ switch(C.
{case 'I':++k;break;
case 'L':continue;
main()
{ int a[20],n,i,j,sum,t,prime;
sum=prime=0;
printf("n=");
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(a[i]>a[j])
#include<stdio.h>
#include<string.h>
main()
{ char s[20],str[3][20];
int i;
for(i=0;i<3;i++)gets(str[i]);
strcpy(s,);
if(strcmp(str[1],s)<0)strcpy(s,str[1]);
main()
{ char s[]="ABCCDA";
int k;char c;
for(k=1;(c=s[k])!='\0';k++)
{switch(c)
{ case 'A':putchar('%');continue;
case 'B':++k;break;
default:putchar('*');
case 'C':putchar('&');continue;
9.下面程序的功能是从键盘输入一行字符,统计其中有多少个单词,单词之间用空格分隔,请选择填空()。
#include <stdio.h>
main()
{ char s[80],c1,c2='';
int i=0,num=0;
gets(s);
while(s[i]!='\0')
{c1=s[i];
if(i==0)c2='';
{; j--;}
=m;
}
for(i=0;i<5;i++)
printf("%d",a[i]);
printf("\n");
}
【答案】i-1 a[j+1]=a[j] a[j+1]
【说明】插入法排序的基本思路是将一个数插入到前面已排好序的有序表中,从而得到一个新的、个数增1的有序排列。
8.下面程序的功能是在3个字符串中找出最小的,请填空。
【说明】因为在程序中j的值始终是小于k的,所以n[k]没有改变,还是0,答案为C。其他选项均不对。
二、填空题
1.若有定义:double x[3][5];则x数组中行下标的下限为,列下标的上限为。
【答案】24
【说明】数组元素的下标是从0开始的。
2.数组在内存中占一片连续的存储区,由代表它的首地址。
【答案】数组名
【分析】该题只能将字符数组str2中的全部字符一个一个赋值到字符数组strl中。
【源程序】
voidmain()
{ int i;
char str1[80],str2[80];
gets(str2);
for(i=0;str2[i]!='\0';i++)
str1[i]=str2[i];
str1[i]='\0';
else c2=s[i-1];
if()num++;i++;
}
printf("There are %d words.\n",num);
}
A.c1==''&&c2==''B.c1!= ''&&c2==''
C.c1==''&&c2!= ''D.c1!= ''&&c2!= ''
【答案】B
【说明】统计单词个数的基本思路是:如果前一个是空格,后一个符号为非空格字符时,说明出现了一个新单词,因此B是正确的。其他选项均不对。
6.有两个字符数组a、b,则以下正确的输入语句是()。
A.gets(a,b);B.scanf("%s%s",a,b);
C.scanf("%s%s",&a,&b);D.gets("a"),gets("b");
【答案】B
【说明】B选项中数组名a、b前不能加地址运算符。gets函数的参数要求是一个字符数组名或一个字符型指针变量。
12.有如下程序,其运行结果是()。
main()
{ int n[3], i,j,k;
for(i=0;i<3;i++)
n[i]=0;
k=2;
for(i=0;i<k;i++)
for(j=0;j<k;j++)
n[j]=n[i]+1;
printf("%d\n",n[k]);
}
A.2B.1C.0D.3
【答案】C
A.int a[3][];B.float a(3,4);C.double a[1][4];D.float a(3)(4);
【答案】C
【说明】C选项符合语法格。
3.若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为()(假设a[0][0]位于数组的第一个位置上)。
A.i*m+jB.j*m+iC.i*m+j-1D.i*m+j+1
【答案】D
【说明】D是公式。
4.若二维数组a有m列,则在a[i][j]前的元素个数为()。
A.j*m+iB.i*m+jC.i*m+j-1D.i*m+j+1
【答案】B
【说明】根据上题可知。
5.若有以下程序段:
int a[]={4,0,2,3,1},i,j,t;
for(i=1; i<5; i++)
{ t=a[i]; j=i-1;
static char ch[]="600";