(C)一些题3

#include<stdio. h>

void main ()

{

int k=10000;

do

{

k++;

printf ("%d\n",k) ;

}while (k>10000);//不是死循环,因为%d有范围,超限后为负数,所以退出循环

#include<stdio. h>

void main ()

{

int s=36;

while(s);//因为有;是死循环

--s;

printf("%d\n",s);

}

3.执行语句: for ( i =1;i+ +<4:):后,变量 i 的值是

A .3 B .4 C. 5 D.不定

4.char h ,* s =& h :可将字符 A 通过指针存入变量 h 中的语句是

A .* s = A ;

B .* s =' A ';

C . s = A ;

D . s =' A ';

5.若有说明: int * p , m =5, n ;以下程序段正确的是

A . p =& n ;

scanf ("% d ",& p );

B . p =& n ;

scanf ("% d ",*p );

C . scanf ("% d ",& n );

* p = n ;

D . p =& n ;

* p = m ;

6.有以下程序

main()

{

int i =1, j =1, k =2;

if (( j ++||k ++)&& i ++)

printf ("% d ,% d ,% d\n ", i , j ,k );

}

执行后输出结果是(

A .1,1,2

C. 2,2,2

B .2,2,1

D .2,2,3

7.已知变量 a 被定义为 int 型变量,以下定义并初始化指针变量 p 的语句中正确的

A.int p=a;

B.int *p=*a;

C.int p=&a;

D.int *p=&a;

8.若有下列定义,则对 a 数组元素地址的正确引用是

int a 5,* p = a ;

A .*( p +5)

C. a +2

B.*p+2

D.*&a5

9.若有定义语句: char s 10="1234567\0\0";,则 strlen ( s )的值是()

A .7 B.8 C.9 D.10

10.以下叙述中错误的是(.)

A .用户定义的函数中可以没有 return 语句

B .用户定义的函数中可以有多个 return 语句,以便可以调用一次返回多个函

数值

C .用户定义的函数中若没有 return 语句,则应当定义函数为 void 类型

D .函数的 return 语句中可以没有表达式

答案:CBDC DCAB

3,i++<4 已经加了,所以为5

4.A和C字符A没加引号,D。s为地址

5.A和B没有n的值 cC,没有初始化,不能指向n

6.或运算,左边为真时,右边不运行

7.注意定义并初始化,所以D对

8.A和D超限,B,*p指内容,加2,

10.return语句一次只能返回一个值

11.当运行以下程序时,程序的输出结果足:

复制代码
void fun(int *y)
{
printf("*y= %d\n",*y);
*y=10;
printf("*y=%d\n",*y);
}
void main()
{
int x=20;
printf("x=%d\n",x);
fun(&x); 
printf("x= %d\n",x);
}

x=20

*y=20

*y=10

x=10

fun(&x)是对xs的值进行了修改

复制代码
#include <stdio.h>
struct st
{
int x:
int *y;
}*p;
int dt[4]={ 10,20,30,40};
struct st aa[4]= {50,&dt[0],60,&dt[ 1],70,&dt[2],80,&dt[3]};
}

void main()
{
P=aa;
printf("%d\n",++p->x);
printf("%d\n",(++p)->x);
print("%d、n",++(*p->y);
}

51

60

21

本题的优先级为()> -> > ++ > *

++p->x等价于++(p->x)

++(*p->y)等价于 ++(*(p->y))

13.函数 fun 的功能是:将形参 n 所指变量中,个位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针 n 传回所指变量。例如,输入一个数:27638496,新的数:为739。

复制代码
# inelude < stdio . h >
 void fun ( unsigned long * n) 
{
 unsigned long x =0, i ;
 int t ;
 i =1;
 while (*n)
{
 t =* n %________;
 if ( t %2!=_________);
{
x = x + t * i ;
 i = i *10;
}
*n=*n/10;
}
*n=___________;
}

 void main()
{
 unsigned long n =-1;
 while ( n >99999999|| n <0)
{
printf (" Please input (0< n <100000000):");
 scanf ("% ld ",& n );
}
 fun (& n );
 printf (" nThe result is :% ld ' in ". n );
}

答案:1.10 2.0 3.x

14.下面程序的功能是删除字符串 s 中的空格。

复制代码
# include " stdio . h "
 void main ()
{
 char * s =" Beijing ligong daxue ";
 int i , j ;
 for ( i = j =0; s [ i ]!='\0'; i ++)
{
 if ( s [ i ]!='')
________________
 else
_________________
 s [ j] =' O ';
printf("%s",s);
}

答案:sj++=si; sj=si;

相关推荐
qeen874 分钟前
【数据结构】自平衡二叉搜索树各种旋转算法原理解析及AVL树的C++实现
数据结构·c++·算法
lucas_AI15 分钟前
1.2B 小模型赢过 235B 大模型:NaviDC-OCR 把文档解析卷明白了
人工智能·深度学习·算法
程序员与背包客_CoderZ34 分钟前
Linux D-Bus通信协议详解:从入门到C/C++编码实战
linux·服务器·c语言·c++·嵌入式硬件·嵌入式软件·dbus
冻柠檬飞冰走茶1 小时前
PTA基础编程题目集 7-35有理数均值(C++语言实现)
开发语言·数据结构·c++·算法·均值算法
民乐团扒谱机1 小时前
【微实验】倒谱算法(Cepstrum)深度解析:原理、数学推导与代码实现
人工智能·算法·语音识别
嵌入式阿蔡2 小时前
HAL库 vs LL库 vs 寄存器:到底用哪个?
c语言·stm32·单片机·嵌入式硬件·嵌入式实时数据库
Yyyyyy~2 小时前
【C】C语言常见概念
c语言
Nil2082 小时前
leetcode 189轮转数组
数据结构·算法·leetcode
-dzk-2 小时前
【动态规划】LC 118.杨辉三角
算法·动态规划
恣逍信点2 小时前
《凌微经》静态自悖——变化之自因
人工智能·科技·算法·机器学习·业界资讯·拓扑学·哲学