正确答案: A

程序的执行总是从main函数开始,在main函数结束

题目:对于一个正常运行的C程序,以下叙述中正确的是( )。

查看原题

举一反三的答案和解析:

  • [单选题]执行以下程序段后,变量C$的值为( )。 A$="Visual Basic Programing" B$="Quick" C$=B$ & Ucase(Mid$(A$,7,6)) & Right$(A$,11)
  • Quick BASIC Programing


  • [单选题]有如下程序 main() { char ch[2][5]={"6937","8254"},*p[2]; int i,j,s=0; for(i=0;i2;i++)p[i]=ch[i]; for(i=0;i2;i++) for(j=0;p[i][j]>'\0'; j+=2) s=10*s+p[i][j]-'0'; printf("%d\n",s);} 该程序的输出结果是
  • 6385

  • 解析:解析:该题稍微难一点。主要要搞清楚以下几点:①定义了一个指针数组char *p[2]后,程序中第一个循环 for(i=0;i2;i++)p[i]=ch [i];的作用,是使指针数组的p[0]元素(它本身是一个指针)指向了二维数组ch的第一行字符串,并使指针数组的p[1]元素指向二维数组ch的第二行字符串。这样,就使指针数组p和二维数组ch建立起了一种对应关系,以后对二维数组ch的某个元素的引用就有两种等价的形式:ch[i][j]或p[i][j]。②对二维数组ch的初始化,使其第一行ch[0]中存入了字符串“6937”,第二行ch[1]中的内容为字符串“8254”。③程序中第二个循环中的循环体s=s*10+p[i] [j]-'0';的功能是这样的,每执行一次,将s中的值乘以10(也即将s中的数值整体向左移动一位,并在空出来的个位上添一个0),再将当前p[i][i]中的字符量转换为相应的数字,然后把这个数字加到s的个位上。④注意到内启循环的循环条件 p[i][j]>'\0'是指p[i][j]中的字符只要不是字符串结束标志'\0'就继续循环。语句j+=2;是使下标j每次增加2,也即一个隔一个地从p[i]所指向的字符串中取出字符。经过上述解析后,不难看出,该程序首先从p[0]所指向的字符串“6937”中一个隔一个地取出字符,分别是“6”和“3”,然后从p[1)所指向的字符串“8254”中一个隔一个地取出字符,分别是“8”和“5”,同时经过转换和相加运算后,结果s中的值应该是6385。

  • [单选题]设a=5,b=10,则执行c=Int((b-a)*Rnd+a)+1后,c值的范围为
  • 6~10

  • 解析:【解析】本题考查对常用函数的理解。Inr函数是将浮点型或货币型是数据转换成不大于给定数的最大整数;Rnd函数是产生随机数,范围是(0,1)。题目中(b-a)*Rnd+a表达式,当Rnd取0时最小,取1时最大,范围是(5,10),因为Rnd不会取到0和1,所以Int((b-a)*Rnd+a)值的范围是[5,9],所以c的范围为6~10。

  • [单选题]假定有如下的命令按扭(名称为Command1)事件过程: Private Sub Command1_Click() x=InputBox(“输入:”,“输入整数”) MsgBox“输入的数据是:”,,“输入数据:”+x End Sub 程序运行后,单击命名按扭,所果从键盘上输入整数10,则以下叙述中错误的是______。
  • x的值是数值10

  • 解析:解析:由于x没有预先定义,故其数据类型应为变体型(Variant)而不是一个数值10。

  • [单选题]下列程序执行后的输出结果是 ( ) main( ) {int a[3][3],* p,i; p=& a[0][0]; for(i=0;i9;i+ +)p[i]=i+1; printf("%d\n",a[1][2]); }
  • 6


  • 推荐下载科目: 计算机二级 计算机三级 微软认证 华为认证 软考初级 职称计算机 通信工程师 计算机操作员初级 计算机操作员高级 LTE认证
    @2019-2026 不凡考网 www.zhukaozhuanjia.com 蜀ICP备20012290号-2