Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1136641
  • 博文数量: 322
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 3276
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-17 09:21
文章分类

全部博文(322)

文章存档

2010年(155)

2009年(167)

我的朋友

分类: 嵌入式

2009-12-19 09:14:57

6.1    选择题
(424)    执行语句for (i = 1; i++ < 4;)后变量i的值是___。
a. 3
b. 4
c. 5
d. 不定
(c)
(425)    语句while(!E);中的表达式!E等价于
a. E==0
b. E!=1
c. E!=0
d. E==1
(a)
(426)    设有程序段
int k=10;
while(k=0)
{
k=k-1;
}
则下面描述中正确的是___
a. while循环执行10次
b. 循环是无限循环
c. 循环体语句一次也不执行
d. 循环体语句执行一次
(c)
(427)    以下程序段:
x = -1;
do
{
x=x*x;
}
while(!x);
 
a. 是死循环
b. 循环执行二次
c. 循环执行一次
d. 有语法错误
(c)
(428)    有如下语句:
int x=3;
do
{
printf("%d\n",x-=2);
}
while(!(--x));
则上面程序段___
a. 输出的是1  
b. 输出的是1和-2
c. 输出的是3和0
d. 是死循环
(b)
(429)    以下描述中正确的是_____。
a. 由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句
b. do-while循环由do开始,用while结束,在while(表达式)后面不能写分号
c. 在do-while循环体中,为了避免死循环,一定要有能使while后面表达式的值变为零("假")的操作
d. do-while循环中,根据情况可以省略while
(c)
(430)    以下正确的描述是_____。
a. continue语句的作用是结束整个循环的执行
b. 只能在循环体内和switch语句体内使用break语句
c. 在循环体内使用break语句或continue语句的作用相同
d. 从多层循环嵌套中退出时,只能使用goto语句
(b)
(431)    下面程序段___
x=3;
do
{
y = x--;
if(!y)
{
printf("x"); 
continue;
}
     printf("#");
}
while (1<=x<=2);
 
a. 将输出##
b. 将输出##*
c. 是死循环
d. 含有不合法的控制表达式
(d)
(432)    根据编码规范,以下描述正确的是______。
a. goto语句只能用于退出多层循环
b. switch语句中不能出现continue语句
c. 可以用continue语句来终止循环
d. 在循环中break语句不能独立出现
(b.d)
(433)    请选择下面中存在无限循环的程序_____。
a. x=2;
while (1)
{
printf(" doggie ");
    if (x=1) break;
}
b. for ( ; ; )
   printf(" kitty ");
c. for (x=1, flag = 0; flag || x%2; x++, flag = !flag)
   {
printf(" bunny ");
}
(a.b)
(434)    下面说法正确的是____.
a. 若有说明int c;则while(c = getchar());是正确的C语句;
b. int i, *p = &i;是正确的说明;
c. For ( ; ; ){S}中的语句S必执行无穷多次;
d. unsigned 和void 在C中都是保留的;
(a.b.d)
(435)    将程序prog.c编译后运行:prog  -nla  hello  world 则 *(*(argv+2)) 是______。
a. 'p'          b. '-'          c. 'h'           d. 'w'
(c)
(436)    下面说法正确的是____。
a. C语言允许在复合语句内定义自动变量;
b. 若一个函数的返回类型为void,则表示其没有返回值;
c. 在程序运行过程中,系统分配给实参和形参的内存单元是相同的;
d. &既可以用作单目运算符也可以用作双目运算符。
(a.b.d)
(437)    以下叙述中正确的是____。
a. 注释可以出现在程序中任意合适的地方
b. 花括号"{"和"}"只能作为函数体的定界符
c. 构成C程序的基本单位是函数,所有函数名都可以由用户命名
d. 分号是C语句之间的分隔符,不是语句的一部分
(d)
(438)    下列叙述中正确的是____。
a. C语言编译时不检查语法
b. C语言的子程序分过程和函数两种
c. C语言的函数可以嵌套定义 
d. C语言所有函数都是外部函数
(b)
(439)    以下叙述正确的是       。 
a. main( )必须是程序的第一行     
b. C程序每一行只能写一条语句
c. C程序可以由一个或多个函数组成  
d. 在编译时可以发现注释中的拼写错误。
(c)
(440)    下面有关for循环的正确描述是_____。
a. for循环只能用于循环次数已经确定的情况
b. for循环是先执行循环体语句,后判断表达式
c. 在for循环中,不能用break语句跳出循环体
d. for循环的循环体语句中, 可以包含多条语句,但必须用花括号括起来
(d)
6.2    填空题
(441)    下列程序段的输出结果是_____。  
int k, s;
for(k=0, s=0; k<10; k++)
{
if (s>k) break; 
else s += k; 
}
(442)    printf("k=%d s=%d", k, s);下列程序的运行结果是_____。
main()
{
int number, digit;
number = 13579;
do
{
digit = number % 10;
printf("%d", digit);
number = number / 10;
} while (number != 0);
}
(443)    阅读下面程序,如果输入是1882,则程序的输出应该是____。
main()
{
    int n = 0;
    char c;
    while ((c = getchar()) != '2')
    {
       n++;
printf("0%c",c);
}
printf("%d",n);
}
(444)    下面程序的运算结果是______。
int a = 1;
int b = 2;
int c = 3;
switch ((a = b) == c)
{
case 0: printf("false");
   case 1: printf("true ");
   case 2:
   case 3: printf("2,3");
}
(445)    输入12345#后,下列程序的输出结果是_____。
void main()
{
char c;
for (c=getchar(); getchar()!='#'; c=getchar())
{
putchar(c);
}
}
(446)    执行程序find -nx ould text.txt时,*++argv[1]的值是_______。
(447)    不使用& &或||运算符编写一个与下面的for循环语句等价的循环语句:
for (i = 0; i < lim -1 && (c = getchar()) != '\n' && c != EOF; ++i )
s[i] = c;
(448)    指出下面程序的错误:
while(count)
{
  ……….
  count=count-1;
}
(449)    请简述以下两个for循环的优缺点:
a.
for (i=0; i{
if (condition)
{
DoSomething();
}
else
{
DoOtherthing();
}
}
b.
if (condition)
{
for (i=0; i{
DoSomething();
}
}
else
{
for (i=0; i{
DoOtherthing();
}
}
 
(450)    下列程序段的输出是_____。
main()
{  
int k;
for(k=1; k<5; k++) 
{
if(k % 2)  printf("*");
else continue;
printf("#");
}
}
(451)    以下程序运行后的输出结果是______。
main()

char s[ ]="9876", *p;
for (p=s; p}
(452)    下列程序编译后生成 t.exe, 运行 t  input  output  zoo  oil 的输出结果是_______。
void main(int argc, char * argv[ ])
{    int k;
     char *p=argv[1];
     for(k=2; k            if(strcmp(argv[k], p)>0)  p=argv[k];
     printf("%sn", p);
}
6.3    问答与设计
(453)    嵌入式系统中经常要用到无限循环,如何用C编写死循环?
(454)    请说明主函数main(int argc, char *argv[])各参数的作用。
(455)    求解下列递归方程:
                 1             n=1
T(n)={   aT(n/b)+c         n>1
其中 a>1, b>1, a?N, b?N
为简单起见,设n为b的整数幂。
阅读(1100) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~