1. c語言中,演算法為什麼可以有零個或多個輸入,卻不能有零個或多個輸出
C語言中的演算法是指為解決某個特定問題而採取的確定且有限的步,主要的五個特性是:有窮性、確定性、可行性、有0個或多個輸入、有一個或多個輸出。
演算法是指為解決某個特定問題而採取的確定且有限的步驟。
一個演算法包含的操作步驟應該是有限的;
演算法中每一條指令必須有確切的含義,不能有二義性,對於相同的輸入必須能得到相同的執行結果;
演算法中指定的操作,都可以通過已經驗證過可以實現的基本運算執行有限次後實現;
在計算機上實現的演算法是用來處理數據對象的,在大多數情況下這些數據對象需要通過輸入來得到;
演算法的目的是為了求解,這些解只有通過輸出才能得到(注意:演算法要有一個以上的輸出)。
2. c語言中,如何實現在結構體中查找一個特定的元素並輸出
首先看了你的題目以為是結構體變數輸出,但細看有像是枚舉類型。下面寫個例子看是否符合你的需要:
#include<stdio.h>
/*定義枚舉類型*/
enumDAY{MON=1,TUE,WED,THU,FRI,SAT,SUN};
voidmain()
{
/*使用基本數據類型聲明變數,然後對變數賦值*/
intx,y,z;
x=10;
y=20;
z=30;
/*使用枚舉類型聲明變數,再對枚舉型變數賦值*/
enumDAYyesterday,today,tomorrow;
yesterday=MON;
today=TUE;
tomorrow=WED;
printf("%d%d%d ",yesterday,today,tomorrow);
}
如果是結構體,
#include<stdio.h>
voidmain()
{
structtest
{
intMON;
intTUE;
intWED;
intTHU;
intFRI;
intSAT;
intSUN;
}
structtesttest1;
test1.MON=1;
test1.TUE=2;
printf("MON=%d",test1.MON);
printf("TUE=%d",test1.TUE);
}
3. c語言中演算法既可以沒有輸入也可以沒有輸出這句話對嗎
這題目誰出的。。演算法可以使用不同的方法描述,不止C語言。不對,只要是演算法,它可以沒有輸入,但必須有一個或多個輸出,這是演算法的特性之一。如果是程序,就可以沒有輸入或輸出。
4. c語言常用函數有哪些主要掌握的要點是什麼
標准頭文件包括:
<asset.h> <ctype.h> <errno.h> <float.h>
<limits.h> <locale.h> <math.h> <setjmp.h>
<signal.h> <stdarg.h> <stddef.h> <stdlib.h>
<stdio.h> <string.h> <time.h>
一、標準定義(<stddef.h>)
文件<stddef.h>里包含了標准庫的一些常用定義,無論我們包含哪個標准頭文件,<stddef.h>都會被自動包含進來。
這個文件里定義:
l 類型size_t (sizeof運算符的結果類型,是某個無符號整型);
l 類型ptrdiff_t(兩個指針相減運算的結果類型,是某個有符號整型);
l 類型wchar_t (寬字元類型,是一個整型,其中足以存放本系統所支持的所有本地環境中的字元集的所有編碼值。這里還保證空字元的編碼值為0);
l 符號常量NULL (空指針值);
l 宏offsetor (這是一個帶參數的宏,第一個參數應是一個結構類型,第二個參數應是結構成員名。
offsetor(s,m)求出成員m在結構類型t的變數里的偏移量)。
註:其中有些定義也出現在其他頭文件里(如NULL)。
二、錯誤信息(<errno.h>)
<errno.h>定義了一個int類型的表達式errno,可以看作一個變數,其初始值為0,一些標准庫函數執行中出錯時將它設為非0值,但任何標准庫函數都設置它為0。
<errno.h>里還定義了兩個宏EDOM和ERANGE,都是非0的整數值。數學函數執行中遇到參數錯誤,就會將errno置為EDOM,如出現值域錯誤就會將errno置為ERANGE。
三、輸入輸出函數(<stdio.h>)
文件打開和關閉:
FILE *fopen(const char *filename, const char *mode);
int fclose(FILE * stream);
字元輸入輸出:
int fgetc(FILE *fp);
int fputc(int c, FILE *fp);
getc和putc與這兩個函數類似,但通過宏定義實現。通常有下面定義:
#define getchar() getc(stdin)
#define putchar(c) putc(c, stdout)
int ungetc(int c, FILE* stream);//把字元 c 退迴流 stream
格式化輸入輸出:
int scanf(const char *format, ...);
int printf(const char *format, ...);
int fscanf(FILE *stream, const char *format, ...);
int fprintf(FILE *stream, const char *format, ...);
int sscanf(char *s, const char *format, ...);
int sprintf(char *s, const char *format, ...);
行式輸入輸出:
char *fgets(char *buffer, int n, FILE *stream);
int fputs(const char *buffer, FILE *stream);
char *gets(char *s);
int puts(const char *s);
直接輸入輸出:
size_t fread(void *pointer, size_t size, size_t num, FILE *stream);
size_t fwrite(const void *pointer, size_t size, size_t num, FILE *stream);
5. 為什麼C語言輸出:一定要有一個或者多個的輸出,這些輸出是同輸入有著某種特定關系的量; 能不能沒有輸出呢
當然可以沒有輸出啦,例如某個程序實現系統重啟之類的山衡,就不要輸出,因為沒有必要輸出。很多程序都沒有輸指談出,這個到了一定水平後自唯唯碰然明白。
6. c語言什麼運算符返回一個表示特定類型的值對象
你是想要檢測某個變數是什麼類型?Sorry,C語言中沒早兆有這罩睜汪個能力。物仔最多返回某個變數的位元組大小,運算符是 sizeof(x),x是變數或類型。
7. C語言怎樣輸入一個名字後輸出一個特定句子
源代碼如下:
#include<stdio.h>
#include<string.h>
voidmain()
{
charstr[100];
printf("請輸入張三:");
scanf("%s",str);
if(strcmp(str,"張三")==0)//兩個字元串相等時,strcmp返回0
{
printf("我傻瓜 ");
}
else
{
printf("你輸入的是:%s ",str);
}
(7)c語言輸入特定對象輸出特定對象擴展閱讀
源代碼編輯的注意事項
1、定義一個變數存放輸入的數字,寫一個for循環,循環次數就是輸入的這個數字,循環體裡面就是循環拼接輸出的特定的字元,最後輸出就可以。
2、利用for循環控制輸出的字元,意思是當i<=n時,則執行循環內的語句,然後加1再進行判斷;當條件不符時,跳出這個循環。
8. 計算機c語言基礎知識
計算機c語言的特性
C語言是世界上最流行、使用最廣泛的高級程序設計語言之一。在操作系統和系統使用程序以及需要對硬體進行操作的場合,用C語言明顯優於其它高級語言,許多大型應用軟體都是用C語言編寫的。C語言的主要特性有以下幾種:
1、C是高級語言:它把高級語言的基本結構和語句與低級語言的實用性結合起來。
2、C是結構式語言:結構式語言的顯著特點是代碼及數據的分隔化,即程序的各個部分除了必要的信息交流外彼此獨立。
3、C語言功能齊全:具有各種各樣的數據類型,並引入了指針概念,可使程序效率更高。而且計算功能、邏輯判斷功能也比較強大,可以實現決策目的的游戲。
4、C語言適用范圍大:適合於多種操作系統,如Windows、DOS、UNIX等等;也適用於多種機型。
5、C語言應用指針:可以直接進行靠近硬體的操作,但是C的指針操作不做保護,也給它帶來了很多不安全的因素。C++在這方面做了改進,在保留了指針操作的同時又增強了安全性。
6、C語言創始人D.M.Ritchie6、C語言文件由數據序列組成:可以構成二進制文件或文本文件常用的C語言IDE有Microsoft Visual C++,Dev-C++,Code::Blocks,Borland C++,Watcom C++,Borland C++ Builder,GNU DJGPP C++,Lccwin32 C Compiler 3.1,High C,Turbo C,C-Free,win-tc,xcode等。
計算機c語言的語法結構
1.順序結構
順序結構的程序設計是最簡單的,只要按照解決問題的順序寫出相應的語句就行,它的執行順序是自上而下,依次執行。順序結構可以獨立使用構成一個簡單的完整程序,常見的輸入、計算,輸出三步曲的程序就是順序結構。
2.選擇結構
選擇結構的執行是依據一定的條件選擇執行路徑,而不是嚴格按照語句出現的物理順序。選擇結構的程序設計方法的關鍵在於構造合適的分支條件和分析程序流程,根據不同的程序流程選擇適當的選擇語句。
3.循環結構
循環結構可以減少源程序重復書寫的工作量,用來描述重復執行某段演算法的問題,這是程序設計中最能發揮計算機特長的程序結構,C語言中提供四種循環,即goto循環、while循環、do while循環和for循環。
4.模塊化程序結構
C語言的模塊化程序結構用函數來實現,即將復雜的C程序分為若干模塊,每個模塊都編寫成一個C函數,然後通過主函數調用函數及函數調用函數來實現一大型問題的C程序編寫,因此常說:C程序=主函數+子函數。因此,對函數的定義、調用、值的返回等中要尤其注重理解和應用,並通過上機調試加以鞏固。
計算機c語言基礎知識
【知識點1】C程序
C語言程序結構有三種: 順序結構 , 循環結構(三個循環結構), 選擇結構(if 和 switch)
【知識點2】main函數
每個C語言程序中main 函數是有且只有一個。讀程序都要從main()入口, 然後從最上面順序往下讀(碰到循環做循環,碰到選擇做選擇)。
【知識點3】存儲形式
計算機的數據在電腦中是以二進制的形式保存。最低的存儲單元是bit(位),位是由為 0 或者1構成。 byte 是指位元組, 一個位元組 = 八個位。數據存放的位置就是它的地址。
【知識點4】注釋
是對程序的說明,可出現在程序中任意合適的地方,注釋從「/*」開始到最近一個「*/」結束,其間任何內容都不會被計算機執行,注釋不可以嵌套。
【知識點5】書寫格式
每條語句的後面必須有一個分號,分號是語句的一部分。一行內可寫多條語句,一個語句可寫在多行上。
【知識點6】標識符
合法的用戶標識符考查:
合法的要求是由字母,數字,下劃線組成。有其它元素就錯了。
並且第一個必須為字母或則是下劃線。第一個為數字就錯了。
C語言標識符分如下3類
(1)關鍵字。它們在程序中有固定的含義,不能另作他用。如int、for、switch等。
(2)預定義標識符。預先定義並具有特定含義的標識符。如define、include等。
(3)用戶標識符。用戶根據需要定義的標識符,符合命名規則且不與關鍵字相同。
關鍵字不可以作為用戶標識符號。main define scanf printf 都不是關鍵字。迷惑你的地方If 是可以做為用戶標識符。因為If 中的'第一個字母大寫了,所以不是關鍵字。
【知識點7】實型數據
實型數據的合法形式:小數形式和指數形式。掌握判定指數形式合法性。
2.333e-1 就是合法的,且數據是2.333×10-1。
考試口訣:e 前e 後必有數,e 後必為整數。
【知識點8】字元
字元數據的合法形式::
'1' 是字元佔一個位元組,"1"是字元串占兩個位元組(含有一個結束符號)。
'0' 的ASCII 數值表示為48,'a' 的ASCII 數值是97,'A'的ASCII 數值是65。
字元型和整數是近親:
char a = 65 ;
printf(「%c」, a); 得到的輸出結果:a
printf(「%d」, a); 得到的輸出結果:65
一般考試表示單個字元錯誤的形式:'65' "1"
字元是可以進行算術運算的,記住: '0'-0=48
大寫字母和小寫字母轉換的方法: 'A'+32='a' 相互之間一般是相差32。
【知識點9】整型數據
整型一般是兩個位元組, 字元型是一個位元組,雙精度一般是4 個位元組:
考試時候一般會說,在16 位編譯系統,或者是32 位系統。碰到這種情況,不要去管,
一樣做題。掌握整型一般是兩個位元組, 字元型是一個位元組,雙精度一般是4 個位元組就可以了。
【知識點10】轉義字元
轉義字元的考查:
在程序中 int a = 0x6d,是把一個十六進制的數給變數a 注意這里的0x 必須存在。
在程序中 int a = 06d, 是一個八進制的形式。
在轉義字元中, 』x6d』 才是合法的,0 不能寫,並且x 是小寫。
『141』 是合法的, 0 是不能寫的。
『108』是非法的,因為不可以出現8。
【知識點11】算術運算
算術運算符一共有+、—、*、/、%這五個。%符號兩邊要求是整數。不是整數就錯了。
三種取整丟小數的情況:不是四捨五入是舍掉小數部分。
1、int a =1.6;
2、(int)a;
3、1/2; 3/2;
【知識點12】強制類型轉換
將一個運算對象轉換成指定類型,格式為(類型名)表達式
一定是 (int)a 不是 int(a),注意類型上一定有括弧的。
注意(int)(a+b) 和(int)a+b 的區別。前是把a+b 轉型,後是把a 轉型再加b。
【知識點13】賦值
是表達式就一定有數值。
賦值表達式:表達式數值是最左邊的數值,a=b=5;該表達式為5,常量不可以賦值。
復合賦值運算符:注意:a*=m+2 是 a=a*(m+2)
自加、自減表達式:假設a=5,++a(表達式的值為6), a++(表達式的值為5);
j=a++;等價於j=a;a=a+1; 而j=++a;等價於a=a+1;j=a;。
考試口訣:++在前先加後用,++在後先用後加。
【知識點14】逗號運算
逗號表達式:優先順序別最低; 表達式的數值逗號最右邊的那個表達式的數值。
(2,3,4)的表達式的數值就是4。
【知識點15】數制轉換
一定要記住二進制 如何轉換成十進制。
八進制是沒有8 的,逢8 進1,018 的數值是非法的。
【知識點16】位運算
會有一到二題考試題目。
C語言提供6種位運算符:按位求反~,按位左移<<,按位右移>>,按位與&,按位異或|,按位或^。
總的處理方法:幾乎所有的位運算的題目都要按這個流程來處理(先把十進制變成二進制再變成十進制)。
異或運算的規則:0異或1得到1,0異或0得到0,1異或1得到0。可記為「相同為0,不同為1」。
在沒有捨去數據的時候,<<左移一位表示乘以2;>>右移一位表示除以2。
9. C語言如何鍵入特定英文字母然後輸出特定數字
用兩個數組:一個存放特定的字母,另一個存放對應的數字
當輸入字母的時候編立字元數組,如果找到了這個字母就輸出對應下標的數字
char
str[]={a,b,c,d},c;int
number[]={254,987,265,782};
scanf("%c",&c);
for(i=0;i<4;i++)
if(str[i]==c)
printf("%d",number[i]);
10. C語言如何鍵入特定英文字母然後輸出特定數字
這個應該是關於ASCLL碼值的考察:
用c語言ASCII碼的數字轉字母,字母轉數字的方法如下:
#include <stdio.h>
int main(){
//輸入字母,再輸出字母的方法
printf("輸入字母,再輸出字母的方法
");
char c1,c2;
scanf("%c,%c",&c1,&c2);
printf("c1 = %c,c2 = %c",c1,c2);
//輸入數字,轉換成字母的方法
printf("
輸入數字,轉換成字母的方法
");
int c3,c4;
scanf("%d,%d",&c3,&c4);
printf("c3 = %c, c4 = %c",c3,c4);
return 0;
}
運行結果截圖: