考研计算机程序设计语言在线题库每日一练(五十七)
以下是希赛网给大家分享考研计算机程序设计语言在线题库每日一练,希望通过刷题可以帮助大家巩固重要知识点,对知识点查漏补缺,祝愿大家能顺利通过考试!
本文提供考研计算机程序设计语言在线题库每日一练,以下为具体内容
1、以下各标识符中,合法的用户标识符组为( )。
A、PAd,P#d,b-b,abc,_0123,ssiped
B、cin,a10,CPP,float,del_word,signed
C、void,max,hiy,<fr>,list,*jer
D、a,temp,_isw,INT,keep,wind
2、下列行指针定义中,正确的是( )。
A、int *p[10];
B、int *p[];
C、int(*p)[10];
D、(int *)p[10];
3、设i和k都是int类型,则以下for循环语句( )。for(i=0,k=-1;k=1;i++,k++)cout<<"****\n";
A、判断循环结束的条件不合法
B、是无限循环
C、循环体一次也不执行
D、循环体只执行一次
4、已知char a[ ][20]={"Beijing","shanghai","tianjin","chongqing"};语句cout<<a[40];的输出是( )。
A、空格
B、n
C、不定
D、数组定义有误
5、以下程序的输出为( )。#include <iostream.h>void main(void) { int i,j,k,a=3,b=2; i=(--a==b++)?--a:++b; j=a++;k=b; cout<<i<<'\t'<<j<<'\t'<<k<< endl;}
A、2 1 3
B、1 1 2
C、4 2 4
D、1 1 3
1、试题答案:D
试题解析:
A选项中,P#d、b-b不合法,有字符'#'、'-'。B选项中,float、signed不合法,都是关键字;float声明浮点型变量或函数返回值类型、signed声明有符号类型变量或函数。C选项中void不合法,是关键字:声明函数无返回值或无参数,声明无类型指针;<fr>、*jer不合法,有字符'<'、'>'、'*'。D选项中都是合法的用户标识符。综上本题选D。
C语言规定标识符只能由字母、数字、下划线3种字符组成,且第一个字符必须为字母或下划线。编译系统将大写字母和小写字母认为是两个不同的字符。关键字不能作为用户标识符。
2、试题答案:C
试题解析:
行指针是指向由若干个元素组成的一维数组的指针变量。由下表可知,C选项符合要求,故本题选C。
3、试题答案:B
试题解析:
for循环中,循环条件语句为k=1,显然值恒为1(真),则此循环无限循环。故本题选B。
for语句的一般格式为for(表达式1;表达式2;表达式3)循环体。
其中要注意的几点:
表达式1只会执行一次;
表达式2的值为真,继续循环;值为假,结束此for循环;
循环体的判断,for语句“()”后的第一个语句或者语句体是循环体;
若省略表达式2,循环将无终止地执行,也就是认为表达式2始终为真(非0)。
4、试题答案:C
试题解析:
语句cout<<a[40];属于越界访问数组a。对于越界访问的内存,若有使用权限则可能访问到随机数据;否则程序就会崩溃。故本题选C。
5、试题答案:D
试题解析:
语句i=(--a==b++)?--a:++b;可以写成a=a-1;i=(a==b)?--a:++b;b=b+1;,故a==b(即2==2)为真,则i=--a;(表达式++b不执行),即a=a-1;i=a;,那么语句结束时a的值为1,i的值为1,b的值为3。语句j=a++;可以写成j=a;a=a+1;,则j的值为1,a的值为2。语句k=b,则k的值为3。综上输出的i、j、k的值分别为1、1、3。故输出结果为1 1 3,本题选D。
自增和自减运算符,他们的作用是使变量的值增1或减1,如:
++i(在使用i之前使i的值加1,如果i的原值为3,则执行j=++i,i的值先自增为4,然后将i的值赋值给j,j的值为4)。i++(在使用i之后使i的值加1,如果i的原值为3,则执行j=i++,先将i的值赋值给j,j的值为3,然后i的值自增为4)
++i和i++的作用相当于i=i+1,但他们不同之处在于++i是先执行i=i+1,再使用i的值;而i++是先使用i的值,再执行i=i+1。
--i和i--的运算规则同上。
条件表达式的一般形式为:表达式1?表达式2:表达式3。它的执行顺序:先求解表达式1;若为真(非0)则求解表达式2,此时表达式2的值就是整个条件表达式的值;若表达式1的值为0(假),则求解表达式3,此时表达式3的值就是整个条件表达式的值。