freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

等級考試二級c語言考前密卷(四)-資料下載頁

2025-06-07 21:56本頁面
  

【正文】 第5個元素(最開始的為第0個),而通過+p=w已經將p指向了數組w,要想不移動指針p而引用98,可以有以下兩種方法:p[5]、*(p+5)?!   ?7)以下程序的輸出結果是  【7】  ?! efine MAX(x,y)(x)(y)?(x):(y)  main()  {  int a=5,b=2,c=3,d=3,t;  t=MAX(a+b,c+d)*lO;  printf(%d\n,t);  }  答案:【7】7  評析:宏替換后,表達式t=MAX(a+b,c+d)*10即變?yōu)椋簍=(a+b)(c+d)?(a+b):(c+d)*10;  由于(a+b)(c+d)為真, 所以t=(a+b),即為7?!   ?8)以下程序的輸出結果是  【8】  ?! ain()  {  unsigned short a=65536;  int b:  primf(%d\n,b=a);  }  答案:【8】0  評析:對于一個unsigned short來說,它能取的最大值是65535。這里給a賦值.65536,已經超出了它的取值范圍,這樣它的高位將被截掉,只把低位賦給它(全零)。所以a的值實際為0?!   ?9)若已經定義im a=25,b:14,c=19;,以下三目運算符(?:)所構成的語句的執(zhí)行結果是  【9】  。  a++=2amp。amp。b=2amp。amp。c++?printf(***  a=%d,b=%d,c=%d\n,a,b,c):printf(a=%d,b=%d,c=%d\n,a,b,c);  答案:【9】a=26,b=14,c=19  評析:這種條件表達式的一般形式為:表達式17表達式2:表達式3,三目運算符的執(zhí)行順序:先求解表達式1,若非0則求解表達式2,此時表達式2的值就作為整個表達式的值,若表達式1的值為0,則求解表達式3,此時表達式3的值就作為整個表達式的值。c語言在做一系列表達式相與時,從左到右分別計算各表達式的值,一旦遇到一個表達式為false,則剩余的表達式都不再進行運算。該題中,a++(=2的值為false,則b=2和c++就都不再運算。    (10)下面的if語句與y=(x=10)?3*x11:(x1)?x:239。x.1;的功能相同,請補充完整。  If(  【10】  )  if(  【11】  )y=2*x1;  else y=x;  else y=3*x11:  答案:【10】x10  【11】x=1  評析:條件表達式的一般形式為:表達式l?表達式2:表達式3  條件運算符的執(zhí)行順序:先求解表達式1,若為非0(真)則求解表達式2,此時表達式2的值就作為整個條件表達式的值;若表達式1的值為O(假),則求解表達式3,表達式3的值就是整個條件表達式的值。y。(x。10)?3。x1 1:(x=1)?x:2*x1;的功能是先求(x=1)?x:2*x1:的值,所的的結果再與前面的語句構成條件表達式進行求值。所以【10】應該填x10,【11】應該填x=1?!   ?11)以下程序中用戶由鍵盤輸入一個文件名,然后輸入一串字符(用拌結束輸入)存放到此  文件中,形成文本文件,并將字符的個數寫到文件的尾部。請?zhí)羁?。  includestdio.h  main()  { FILE *fp;  char ch,fname[32];im count=0;  printf(Input the filename:);  scanf(%s,fname);  if((幣=fopen( 【12】 ,w+))==NULL)  { print印Can39。t open file:%s\n,fname};exit(0);}  printf(Enter data:in);  while((ch=getchar())!_1≠)39。)  { fputc(ch,fp);count++;}  fprintf( 【13】 ,\n%d\n,count);  fclose(fp);  }  答案:【12】fname  【13】fp  評析:fopen()函數實現打開文件的功能,通常的調用方式為:FILE*fp;fp=fopen(文件名,使用文件方式),因此,第一個橫線處要求填寫要打開文件的名字fname。fprintf()函數的一般調用方式為:fprintf (文件指針,格式字符串,輸出表列),所以第二個橫線處應填寫fb?!   ?12)函數void fun(noat*sn,int n)的功能是:根據以下公式計算s,計算結果通過形參指針sn傳回;n通過形參傳入,n的值大于等于0。請補全程序?! =I1/3+1/51/7+...+1/(2n+1)  void fun(float*sn,int n)  {  float s=O.O,w,f=1.0;  int i=0:  for(I=0;i=n;i++)  { f= 【14】 *f?! =f/(2*i+1);  S+=W:  }  【15】  =s;  }  答案:【14】1或1.0  【15】*sn  評析:由于在對s求和時,相鄰兩項的符號剛好相反,而在函數fun中沒有對數據進行取反的操作,故第一空的目的是對數據進行取反,以保證序列中相鄰兩項的符號不同。故第一個應填1或1.0。在執(zhí)行完循環(huán)體后,要將求和結果通過指針參數的形式傳遞給調用fun的函數,故第二空應填*sn。    (13)下面的函數strcat(strl,str2)實現將字符串str2拼接到字符串strl后面的功能。請?zhí)羁帐怪暾??! har*strcat(strl,str2)  char*strl.*str2;  { char*t=strl;  while( 【16】 )strl++;  while( 【17】 );  return(t);}  答案:【16】*strl或*str1!=39。\039。或*str1!=0或*strl!=NULL  【17】*strl++=*str2++或*strl++=*str2,*str2++  評析:函數strcat(strl,str2)實現將字符串str2連接到字符串strl后面,所以首先要找到字符串strl的串尾,根據c語言的語法規(guī)定,一個串的串尾一定是一個隱含字符\0,而在程序中,對字符串中字符的訪問是通過兩/卜指針變量來完成的,因此要找到字符串strl的串尾,要判斷*strl是否為\0,要找到字符串str2的串尾,要判斷*str2是否為\0,程序中必須可以使字符串中字符逐一順序體現,所以在題中我們應填寫*str1和*strl++=*str2++?!   ?14)以下函數fun用于求兩個整數a和b的最大公約數?! un(a39。b)  int a39。b;  {int I,J,m,n;  if(ab)  {m=a;a=b; 【18】 ;}  i=a.j=b;  while((n= 【19】 )!=O)  {j=i;i= 【20】??;}  retum(i);  }  答案:【18】b=m  【19】j%i  【20】n  評析:函數中的變量i和j分別存放兩個形參的最小數和最大數,在語句i=a和i=b執(zhí)行之前,要將a和b分別變?yōu)樽钚岛妥畲髷?,當ab時,程序使用中間變量將兩者交換,所以題中第一個空中應當填寫b=m;為求兩個整數的最大公約數,程序的where循環(huán)條件必須為j整除i成立,所以題_中第二個空中應當填寫j%i;程序要通過i的值返回最大公約數,因此在循環(huán)中要將每次整除的公約數賦給i,以保證最后返回的是兩個整數的最大公約數,所以第三個空中應當填寫n。唯C動力 提供
點擊復制文檔內容
教學教案相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1