zl程序教程

您现在的位置是:首页 >  其他

当前栏目

翁凯C语言程序设计期末考试

2023-04-18 14:24:31 时间

12 单选(2分)

‎语句while(x%3) a++;中的表达式x%3等价于___C___.(A)

  • A.x%3!=0

  • B.x%3==2

  • C.x%3==1

  • D.x%3==0 

 重点:0为假,非0为真

46 填空(2分)

‎若有‌‎int x = 5;‎则‎ ! x<10

‎的结果(以整数表达)是___0____ (1 

重点:运算符优先级

43 填空(2分)

‌下列代码段的输出结果是:

char s[]="Zhejiang";

s[strlen(s)/2-1]=0;

printf("%lu#%s#",strlen(s),s);

8#Zhe0jiang#

正确答案:3#Zhe#

重点:%s输入字符串遇空格换行0时停止输入

6 单选(2分) 对于如下定义:

int k,a[10],*p=a;哪个表达式是不正确的  D (A)

  • A.a++

  • B.a[0]=k

  • C.*p++=2

  • D.p[0]=k

重点:A中a是地址,D中p存的是a数组的地址约等于a[0]=k 

42 填空(2分)

​程序T1的代码如下,则运行T1  abc  bcd  cde  aed的输出结果是_______.

int main(int argc, char** argv) {  

  while(**argv++!='a');  

  printf("%s", *argv);    

  return 0; }

答:abcaed (bcd)

重点:参数char** argv可理解为和char* argv[]一样,即字符串数组,一个全为指针的数组每个指针指向字符串,**argv++——>argv[0]++,即已经加一但判断!=‘a'时没加,则argv[0]指向abc,加一后下一个指向bcd

若定义chars[2][3]="ab","cd"}    *p=(char*)s;
那么下列表达式语法正确并且其值与s[1][1]相等的表达式(并非一定与其等价)是(
)。
(3分)
A、*(s+3)

B、*++p+2

C、*s+2

D、p[1][1]

重点:

 

A答案 等价于*(S[0]+3) 则指向字符c

B答案